计算机网络课程设计报告--基于TCP的网络聊天室系统.docx
《计算机网络课程设计报告--基于TCP的网络聊天室系统.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计报告--基于TCP的网络聊天室系统.docx(24页珍藏版)》请在第一文库网上搜索。
1、计算机网络课程设计报告基于TCP的网络聊天室系统一、问题描述题目:基于TCP的网络聊天室系统。在JAvA中,基于TCP协议实现网络通信的类有两个:在客户端的Socket类和服务器端的SeverSocket类。SeverSocket类的功能是建立一个Sever,并通过accentO方法随时监听客户端的连接请求。二、概要设计(抽象数据类型定义).*;importjava.io.*;pub1icc1assNode/用户链表结点Stringusername=nu11;/用户昵称Socketsocket=nu11;ObjectInputStreaminput=nu11;ObjectOutputstrea
2、moutput=nu11;Nodenext=nu11;流程图:Ou1pucStrvmScSOCkeu)StfvcrSockct三、详细设计(主要算法和函数间的调用关系)(1) Node,java用户链接结点,包含用户名、SoCket接口输入输出流和保存下一个用户结点的“指针”.*;importjava.io.*;pub1icc1assNode/用户链表结点Stringusername=nu11;Socketsocket=nu11;ObjectInputStreaminput=nu11;ObjectOutputstreamoutput=nu11;Nodenext=nu11;)(2) User1i
3、nk1ist.java对用户链表的操作,有添加用户、删除用户、根据用户名查找用户和根据索引查找用户。pub1icc1assUser1ink1ist用户链表操作Nodehead;Nodepointer;intcount;pub1icUSer1ink1iSt()构造用户链表head=newNode();head.next=nu11;pointer=nu11;count=0;pub1icvoidaddUser(Noden)/添力U用户pointer=head;whi1e(pointer.next!=nu11)pointer=pointer.next;)pointer.next=n;n.next=nu
4、11;count+;pub1icvoidde1User(Noden)/删除用户pointer=head;whi1e(pointer.next!=nu11)if(pointer.next=n)pointer.next=n.next;count;break;)pointer=pointer.next;)pub1icintgetCount()/返回用户数returncount;pub1icNodefindUser(StringUSername)/根据用户名查找用户if(count=0)returnnu11;pointer=head;whi1e(pointer.next!=nu11)pointer=p
5、ointer.next;if(pointer.username.equa1sIgnoreCase(username)returnpointer;)returnnu11;)pub1icNodefindUser(intindex)/根据索弓查找用户if(count=O)returnnu11;if(countO)returnnu11;pointer=head;inti=O;whi1e(iindex+1)if(pointer.next!=nu11)pointer=pointer.next;e1sereturnnu11;i+;)returnpointer;)(3) ChatSever.java服务器端的
6、主程序,主要是服务器端的界面的和一些功能按钮,包括用户列表窗口、消息窗口、端口设置按钮、启动服务按钮、停止服务按钮和退出程序按钮。设置端口的功能是弹出一个对话框,在对话框架中改变端口再保存,所以设置端口对话框要在另一个类中实现,主程序中要把端口号定义为静态变量,可以让其他类以静态的方式引用。启动服务就是生成一个SeVerSOCket实例对象,初始化用户链表,调用监听客户端的连接请求的线程类。按下停止服务按钮,首先要向所有用户发送“服务关闭”信息,然后再关闭所有SoCket接口和输入输出流。在退出程序之前,也要经过停止服务这个阶段。importjava.awt.*;importjava.awt.
7、event.*;importjavax.swing.*;.*;pub1icc1assChatServerimp1ementsAction1istenerpub1icstaticintport=6666;服务端的侦听口ServerSocketSerVerSoCket;服务端SocketJFrameframe;JMenuBarmenubar;建立菜单栏JMenuSerViCemenu;建立菜单组建立菜单项JMenu1temPOrtiIen1;端口设置JMenu1temStartiten);启动服务JMenu1temStOPiIeni;停止服务JMenu1temexititem;退出JMenuhe1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 课程设计 报告 基于 TCP 网络 聊天室 系统