欢迎来到天天文库
浏览记录
ID:3702454
大小:425.00 KB
页数:16页
时间:2017-11-23
《tcp课程设计之网络聊天室》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、成绩南京工程学院通信工程学院课程设计说明书(论文)题目网络聊天室的设计课程名称通信应用软件课程设计专业多媒体通信班级媒通111学生姓名张瑜学号208110515设计地点信息楼C-216指导教师耿鹏设计起止时间:2013年11月2日至2013年11月6日目录1.概述32.设计介绍52.1功能描述52.2流程图63.程序实现(关键代码解释)104.功能演示(说明)135.总结与展望146.参考文献161.概述1.1系统概述Linux是一种针对PC计算机和工作站得操作系统。他具有像Windows和Mac
2、那样的功能齐全的图形用户界面。由于Linux的开源的特点,越来越多的人转而使用Linux作为PC机得操作系统。Linux系统支持三种并发方式:多进程、多线程、以及I/O多路复用。而多线程技术是并行技术中开销较小,效率较高的一种方式,与其他两种方式相比,线程占用更少的系统资源,而且效率更高,是并发技术中最常用的方式。网络聊天程序是目前应用极为广泛的一种网络软件,对于方便人们的交流沟通非常有效,同时,作为一种典型的网络应用,编写网络聊天程序是学习基于Linux的网络编程的有效方法。服务器端:循环等候客
3、户连接请求,一旦有客户连接请求,开启一个子线程接受并处理客户请求,接受来自客户的信息。然后将客户信息反转后再返回给客户端。主线程继续等待其他客户请求。服务器具有同时处理多个用户的能力。客户端:首先与服务器建立连接,然后向服务器发送数据进行交互,接受服务器的反馈信息并显示,之后继续等待用户输入直至用户输入ctrl+D结束通信。客户端接到输入ctrl+D后,客户端关闭连接并退出。本次课题设计是在使用Linux线程和Socket接口的基础上,编写网络聊天程序,从而掌握Linux应用程序开发的基本方法,练
4、习Linux线程及Socket编程的方法,从而将所学知识融会贯通。1.2课程设计目的通信应用软件课程设计是实践性教学环节之一。通过课程设计,使学生掌握套接字的基本概念,结合实际的操作和设计,巩固课堂教学内容。学生在掌握TCP/IP协议及Socket编程原理和技术的基础上,将理论与实际相结合,应用现有的程序开发工具,规范、科学地完成一个接近实际的应用程序,把理论课与实验课所学内容做一个综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。1.3课程设计要求综合运用本课程及计算机网络的相
5、关知识设计并实现一个网络应用程序或对某一计算机网络运行机制进行程序分析。安排1周的时间进行课程设计,一般1人为一组。如果涉及到应用程序的开发,可扩充到2~4人一组,采用自由分组、推选组长的形式,由课代表将分组情况报到教师处。要求如下:(1)充分认识课程设计对培养自己动手能力的重要性,认真做好设计前的各项准备工作;(2)充分发挥主观能动性,结合课题,独立思考,努力钻研,勤于实践,勇于创新;(3)按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计;(4)课程设计期间,无故缺席按
6、旷课处理;(5)在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。(6)小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。1.4课程设计内容网络聊天室设计:采用客户/服务器模式,分为客户端程序和服务器端程序。服务器采用I/O模型中的任一种,支持多个客户同时在线聊天。客户端程序和服务器程序通过网络交换聊天字符串内容,服务器窗口的列表框中显示当前在线用户,支持客户端之间的私聊(可以通过服务器中转,或考虑UDP直接建立端端
7、连接)。2.设计介绍2.1功能描述2.1.1转发信息模块服务器定义readMessage函数用于存储要求请求连接的用户名,客户发送的信息,该消息服务器、客户端共享,客户端读取该信息,从而实现信息转发。2.1.2用户登录模块用户输入用户名、服务器ip地址及密码,如果通过合法性检测,则可进入聊天主界面与其他人进行聊天。2.1.3群聊模块客户端点击“发送信息”按钮,该客户端的ip地址、端口号以及信息内容一起打包写入服务器readMessage函数,客户端通过线程可以读取该客户write中的内容。2.2流
8、程图2.2.1系统总流程图系统总体设计流程图2.2.2登录模块设计登录模块设计用户登录需输入相关信息,经过相关的检测后,方可登录。登陆后可查看群聊信息,且可与其他人进行聊天。2.2.3服务器模块服务器模块流程图该服务器界面用于显示用户上线与下线的信息,不可用于聊天,是用于将客户端群聊时发送的信息转发给每一个在线用户,处于一个承接的作用。2.2.4消息格式化模块消息格式化模块流程图消息格式化是将用户的对应信息合成固定形式进行传送。2.2.5群聊模块群聊模块流程图用户登陆以后,可与显示
此文档下载收益归作者所有