您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 聊天室——TCPIP原理及编程课程设计报告
《TCPIP原理及编程课程设计报告》课程设计报告书题目:局域网聊天室专业:网络工程班级:一班学生姓名:贺**学号:2013**指导教师:李**完成日期:2016年6月11日局域网聊天室——TCPIP原理及编程课程设计报告目录一、任务概述......................................................................................................11.1设计目的..............................................................................................................11.2项目背景.............................................................................................................1二、系统需求分析和概要设计............................................................................12.1需求分析..............................................................................................................12.1.1服务器端工作流程.......................................................................................12.1.2客户端工作流程...........................................................................................12.2用例设计.............................................................................................................22.3整体框架设计.....................................................................................................52.4模块设计.............................................................................................................5三、系统详细设计...............................................................................................63.1服务器..................................................................................................................63.2客户端................................................................................................................123.3主界面...............................................................................................................14四、总结.............................................................................................................15局域网聊天室——TCPIP原理及编程课程设计报告1一、任务概述1.1设计目的本课题是建立聊天通信模型,设计一个聊天室软件,包括服务器端和客户端,通过选择类型决定是服务器还是客户端。服务器端功能:初始化Socket,创建服务器端,向用户发出响应命令。客户端功能:连接服务器,消息框中输入消息,当按下“发送消息”按钮时将信息发送给服务器。通本课题的课程设计,可以比较深入的了解和掌握Winsock控件基本属性、方法和事件,理解网络聊天通信的概念,使用传输控制协议(TCP)进行数据交流,初步掌握网络聊天通信程序的设计方法。并能巩固和扩展大学期间的学习内容,进行项目的设计开发训练,更好的适应社会的需求。1.2项目背景聊天室程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序连接到服务器,就可以与在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。二、系统需求分析和概要设计2.1需求分析2.1.1服务器端工作流程服务器端通过系统调用创建一个Socket数组后(即设定了接受连接客户的最大数目),与指定的本地端口绑定bind(),就可以在端口进行监听listen。如果有客户端连接请求,则在数组中选择一个空Socket,将客户端地址赋给这个Socket。然后登客户端的用户就可以在服务器上聊天了。2.1.2客户端工作流程客户端程序相对简单,只需要建立一个Socket与服务器端连接,成功后通过这个Socket来发送和接收数据就可以了。局域网聊天室——TCPIP原理及编程课程设计报告22.2用例设计通常来说,一个用例对应一个功能,即程序的一个执行路径或执行流程。本程序主要有以下几个用例:服务器运行、客户端运行,服务器端发送消息,客户端发送信息,服务器端接收消息,客户端接收信息,服务器端停止服务,客户端退出连接,服务器端关闭,客户端关闭。1、服务器运行表2-1服务器运行用例主路径可选路径1、运行程序,显示主窗口2、点击“网络设置”按钮,点击服务器选项,设置监听端口,开启服务器3、开启失败,重新开启4、开启服务器成功4.1提示用户,服务器启动成功4.2进行通信4、开启服务器成功4.1提示用户,开启服务器成功4.2进行通信2、客户端运行表2-2客户端运行用例主路径可选路径1、运行程序,显示主窗口2、点击“网络设置”按钮,点击客户端选项,设置服务器IP、服务器端口,连接服务器服务器3、连接失败,重新连接4、连接服务器成功4.1提示用户,连接服务器成功4.2告知服务器,客户端进入聊天室4.3进行通信4、连接服务器成功4.1提示用户,连接服务器成功4.2告知服务器,客户端进入聊天室4.3进行通信3、服务器端发送消息表2-3服务器端发送聊天信息用例局域网聊天室——TCPIP原理及编程课程设计报告3主路径可选路径1、输入聊天消息2、点击“发送消息”按钮,发送消息2、没有输入消息,“发送消息”按钮不可用,重新输入消息3、显示消息3.1服务器端显示发送的消息3.2客户端显示发送的消息4、客户端发送聊天信息表2-4客户端发送聊天信息用例主路径可选路径1、输入聊天消息2、点击“发送消息”按钮,发送消息2、没有输入消息,“发送消息”按钮不可用,重新输入消息3、显示消息3.1客户端显示发送的消息3.2服务器端显示发送的消息5、服务器端接收聊天信息表2-5服务器端接收聊天信息用例主路径可选路径1、服务器端接收聊天消息2、显示接收的聊天消息6、客户端接收聊天信息表2-6客户端接收聊天信息用例主路径可选路径1、客户端接收聊天消息2、显示接收聊天消息局域网聊天室——TCPIP原理及编程课程设计报告47、服务器端停止服务表2-7服务器端停止服务用例主路径可选路径1、点击“停止”按钮,弹出对话框,点击“确定”,停止服务1、点击“停止”按钮,弹出对话框,点击“取消”,服务器正常工作2、显示停止成功消息8、客户端退出连接表2-8客户端退出连接用例主路径可选路径1、点击“退出”按钮,弹出对话框,点击“确定”,退出连接1、点击“停止”按钮,弹出对话框,点击“取消”,客户端正常连接2、显示连接成功消息9、服务器端关闭表2-9服务器端关闭用例主路径可选路径1、点击“关闭窗口”按钮,弹出对话框,点击“确定”,退出系统1、点击“关闭窗口”按钮,弹出对话框,点击“取消”,系统正常工作10、客户端关闭表2-10客户端关闭用例主路径可选路径1、点击“关闭窗口”按钮,弹出对话框,点击“确定”,退出系统1、点击“关闭窗口”按钮,弹出对话框,点击“取消”,系统正常工作局域网聊天室——TCPIP原理及编程课程设计报告52.3整体框架设计结合自己的编程经验,设计出的聊天模式如下所示。图2-1聊天模式如上图所示,服务器与客户端之间采用TCP/IP协议通信。服务器提供服务,保存用户列表,并能进行广播通信。服务器持续保持对端口的监听状态,每当有客户端连接服务器时,服务器保存客户端的IP和端口。2.4模块设计2.4.1服务器服务器端流程图如下。图2.2服务器流程图开始运行服务器监听端口消息接收连接请求接收数据关闭连接结束服务器客户端客户端局域网聊天室——TCPIP原理及编程课程设计报告62.4.2客户端客户端流程图如下。图2.3客户端流程图三、系统详细设计3.1服务器(1)通过AppWizard生成基于对话框的应用程序ChatRooms,在向导的第二步选择WindowsSockets的支持,其余步骤均用默认值。(2)删除原有控件,增加如下控件:控件类型控件ID控件类型控件IDGroupboxIDC_STATIC_ALLStaticTextIDC_STATIC_SERVER_PORTGroupboxIDC_STATIC1StaticTextIDC_STATIC_local_portGroupboxIDC_STATIC2ButtonIDC_netsetEditControlIDC_EDIT_message_recordButtonIDC_send_message开始运行客户端建立连接发送数据关闭连接结束局域网聊天室——TCPIP原理及编程课程设计报告7控件类型控件ID控件类型控件IDEditControlIDC_input_messageButtonIDC_close_windowsEditControlIDC_server_portButtonIDC_lianjie_serverEditControlIDC_EDIT4_local_portButtonIDC_exitStaticTextIDC_STATIC_setnetButtonIDC_start_serverStaticTextIDC_STATIC_server_ipButtonIDC_stopRadiobuttonIDC_RADIO1_clientRadiobuttonIDC_RADIO1_serverIpAddressControlIDC_IPADDRESS1(3)定义全局变量及函数voidDlgAllInit();afx_msgvoidOnBnClickedRadio1client();afx_msgvoidOnBnClickedRadio1server();CButtonm_radio_client;CButtonm_radio_server;CButtonm_stop_btn;voidExtendDiaog(BOOLbshow);afx_msgvoidOnBnClickednetset();BOOLbShowALL;afx_msgvoidOnBnClickedlianjieserver();SOCKETm_ListenSock;SOCKETm_ConnectS
本文标题:聊天室——TCPIP原理及编程课程设计报告
链接地址:https://www.777doc.com/doc-5738085 .html