下载此文档

C++课程设计报告:基于Socket通信的聊天室.doc


文档分类:IT计算机 | 页数:约24页 举报非法文档有奖
1/24
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/24 下载此文档
文档列表 文档介绍
课程设计报告课程名称: 高级语言课程设计设计题目: 基于 Socket 通信的聊天室专业: 计算机科学与技术姓名: 学号: 指导教师: 李晓虹 2016 年1月 10日 1 .需求分析 聊天室程序的开发背景近年来,互连网发展日新月异,网络使空间的距离不再成为人们沟通的障碍,世界各个角落的人们可以通过 收发邮件、实时聊天、获取最新的资讯。因此本次毕业设计以“面向连接的 Winsock 网络会话程序开发”为题,制作一个 C/S 聊天室程序,通过制作该程序还能更好的学****网络 socket 编程的相关知识。 聊天室的设计目标本课题是建立聊天通信模型, 设计一个聊天室软件,只是简单的利用 Socket 来实现端到端的通信,主要功能为: 服务器端功能: 1、初始化 socket, 进行单对单的点对点连接模式 2、输入远程用户的 IP地址可以进行 socket 连接。 3、接受用户传送来的聊天信息,然后显示在列表上。 4、接受用户传送来的连接判断命令,并向用户发出响应命令。 2. 总体设计 功能要求?支持点到点的连接,在服务器和多个客户端之间进行数据传输; ?接收客户端发送的消息,并显示在一个列表框中; ?显示出连接的用户计算机名字; 系统主要功能和主要功能描述: 聊天程序必须能够做 3件事情: (1)聊天程序要在待定的端口上通过 socket 发送聊天文字,并发送到开启相同程序的客户端。(2)聊天程序要及时接受从其他地方发送过来的信息,然后把这些信息显示在列表框中去。(3)服务器还要监控这些连接的状态,在客户主动离开或发生故障时从列表中删除相应的表项,并及时更新连接表。这些要求可以通过 CSocket 类提供的功能实现。从 CSocket 派生出两个类 CListenSocket 和CClientSocket, 它们分别用来侦听客户的连接请求和建立与客户的连接。服务器只需要一个侦听套接字 CListenSocket ,然后根据客户的连接请求动态创建客 lientSocket 。客户套接字的数量是不可预知的,因此需要一个列表来记录。 MFC 的CPtrList 类就能实现这种功能。 3. 详细设计 设计流程图启动启动客户端用户创建子套接字 M lientSocket M essage 登陆成功连接上发送 message 显示找到客户端并显示 设计实现(1 )首先启动 Visual C++ ,利用 MFC AppWizard[EXE] 建立一个新的 MFC 工程, 工程名为 tcpclient ,在 MFC AppWizard Step1 的时候选择 Dialog based 即基于对话框, 在 Step4 时勾选 Windows Sockets 选项(如图 3-11 ),其他默认值下一步。图3-11 (2)程序主要分为三个窗口,第一个是发送数据的窗口,需要输入连接到服务器的相关设置信息,一般为 IP 地址,第二个是聊天信息显示窗口,也就是接受数据的窗口,该窗口显示接收到的消息;第三个是消息编辑发送窗口,需要输入你要发送的信息内容并发送,还有一个是主机名窗口,输入目标的主机名即可发送信息。图 3-12 (3) 下面重点介绍一下单击连接服务器按钮时的处理网络连接的函数。代码设置如下: hatRoomDlg::OnInitDialog() {CDialog::OnInitDialog(); ASSERT((IDM_ABOUTBOX &0xFFF0) ==IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX <0xF000); CMenu* pSysMenu =GetSystemMenu(FALSE); if(pSysMenu !=NULL) {CString strAboutMenu; (IDS_ABOUTBOX); if(!()) {pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); }}//Set the icon for this dialog. The framework does this automatically //when the application's main window isnot adialog SetIcon(m_hIcon, TRUE); //Set big icon SetIcon(m_hIcon, FALSE); //Set small icon //TODO: Add extra initialization

C++课程设计报告:基于Socket通信的聊天室 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数24
  • 收藏数0 收藏
  • 顶次数0
  • 上传人1017848967
  • 文件大小0 KB
  • 时间2016-03-18