《计算机网络课程设计报告--局域网间的不同机器qq通信.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计报告--局域网间的不同机器qq通信.docx(7页珍藏版)》请在优知文库上搜索。
1、计算机网络课程设计报告题目一、问题描述(把你所选的题目及要求说一下)局域网之间的QQ通信(UDP)要求:实现局域网间的两台电脑的通信了解基于socket的程序设计方法,增强程序编写能力,加深对计算机网络通信的理解。另外,通过课程设计培养学生严谨的科学态度,认真的工作作风、团队协作精神、自主设计和独力思考的能力。使我们学会文献检索的基本方法和综合运用文献的能力。二、概要设计(抽象数据类型定义)1,首先选择一个主机,得到此主机的IP地址,设置为服务器的特定ip,即为用户时登录所发送的的ip地址,2,客户连接时,创建一个SoCkCt套接字,向服务器发送一个消息,进行验证登录3,创建一个服务器SerV
2、erSOCket对象,监听一个端口,接受用户发来的信息,为用户创建一个线程与之通信三、详细设计(主要算法和函数间的调用关系)1,启动服务器,监听本机端口:2,ServerSocketserverS=newServerSocket(6789);3,4,接受成功,就创建一个客户端套接字ScoketSocketclinetS=servers.accept();5,验证用户登录,如果成功,就为用户创建一个线程欢迎使用津你QQ用广ED.方码II登录I退出if(.getPasswd().equals(123)/返回一个成功登录的信息包m.SetMesType(1);oos.writebject(m);/这
3、里开一个线程,让该线程与客户端保持通讯。SerConClientThreadsect=newSerConClientThread(ClinetS);将用户id和为用户创建的ManageClienthread.addClientThread(u.getUserld(),sect);/启动线程与该客户端通讯的线程,并启动线程Osect.start();)将线程力口入到HaShMaP中利用用户工D名找到服务器所监听的线程名publicstaticHaShMaPhmnewHaShMaPString,SerConClientThread();/向M中添加一个用户端的通讯线程;publicstaticvo
4、idSddClientThread(Stringuid,SerConClientThreadct)-m.put(Uid,ct.);)b客户端建立SoCket套接字Sockets=newSocket(192.168.0.37,6789);ObjectOutputStreamoos=newObjectOutputStream(s.getOutputStream();/发送用户对象到服务器oos.writebject(o);ObjectInputStreamois=newObjectInputStream(s.getlnputStream();Messagems=(Message)ois.readb
5、ject();2,3,显示好友列表,双击好友列表的好友,打开Chat聊天窗口,在文本框中输入信息,点击发送5,封装信息将发送者,接受者,信息的内容,信息的时间封装到一个message消息类中,通过监听用户所在的线程发送消息6,从服务器获得消息,发送到客户的Chat聊天界面ObjectInputStreamois=newObjectInputStream(s.getlnputStream();Messagem=(Message)ois.readbject();/把从服务器获得信息,显示到聊天界面:Chatingchating=ManageQqChat.getQqChat(m.getGetter(
6、)+m.getSender();System.out.printin(chating);chating.ShowMessage(m);流程图服务器四、调试分析(调式过程中出现的问题及如何改正)两个客户登陆进行调试两个客户进行聊天存在的不足:因为本组能力有限,加上时间紧迫,所以设计出来的本系统客户端与服务器端没有分开,这些都有待我们在以后的工作学习中进一步改进。五、心得体会(组内成员的分工及实习期间的体会)首先先感谢老师给我们这次机会来锻炼自己,让我们感受到学来的知识不是用来完成试卷的。其次我们在完成课程设计的过程中体会到团队合作的乐趣,我们学会积极的同团队成员交流,取长补短,共同进步。最后,在这次实习中虽然我们已经对程序进行不断地修改,但是很多地方还存在严重的不足,由于时间限制我们只完成到了这个程度,今后的学习我们将对其进行进一步的修改。六、用户手册(系统的使用方法介绍)L启动服务器程序,运行MySerVerFralne.java,点击打开服务器2 .打开客户端程序,输入用户名(20)和密码(123)3 .双击需要聊天的用户图像,点击发送按钮,发送信息