北邮程序设计实践报告{聊天程序}附源代码.docx

北邮程序设计实践报告{聊天程序}附源代码.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北邮程序设计实践报告{聊天程序}附源代码

北京邮电大学信息与通信工程学院 第 PAGE 29页 北京邮电大学电信工程学院 第 PAGE 1页 程序设计实践 设 计 报 告 课题名称:聊天程序 学生姓名: 班 级: 班内序号: 学 号: 日 期:2014/6/6 课题概述 1.1课题目标和主要内容 聊天程序虽然形态各异,但就其本质,却是相同的。这种程序一般由两大部分组成:服务器端聊天程序和客户端聊天程序。服务器端聊天程序负责接收来自客户端的聊天信息,并且根据客户端的要求把这些信息转发到另外一个活多个客户中。客户端聊天程序则负责建立与维护与服务器端的连接,向服务器发送本客户的聊天内容,同时从服务器接收对方的响应。 1.2系统的主要功能 (1)可以手动输入服务器IP地址和端口号进行连接(客户端功能)。 (2)可以手动建立服务器接受其他客户端的连接要求(服务端功能)。 (3)可以发送消息给服务端,显示服务端传来消息(客户端功能)。 (4)可以接收客户端发送的消息,并将消息传给所有在线的客户端(服务端功能)。 2. 系统设计 2.1 系统总体框架 客户端 通信底层 TCP/IP CClientSocet 服务器 网卡 CServerSocet TCP/IP 通信底层 网卡 2.2 系统详细设计 服务端: [1] 模块划分图及描述 (1)在特定的端口上等待来自聊天客户的连接请求,并且需要维护一个客户连接表,以记录所有成功的连接。 (2)及时接收各个聊天客户发送过来的信息,然后把这些信息转发到一个或多个客户连接。 (3)监控这些连接的状态,在客户主动离开或发生故障时从列表中删除相应的表项,并及时更新连接表。 [2] 类关系图及描述 CServerSocket类的主要功能是实现OnAccept()消息,负责监听服务端口,是一个服务Socket。此类头文件代码如下: // CServerSocket command target class CChatDlg; class CServerSocket : public CSocket { // Attributes public: CChatDlg * m_dlg; UINT m_uPort; BOOL Init(UINT port, CChatDlg* dlg); // Operations public: CServerSocket(){}; virtual ~CServerSocket(){}; // Overrides public: // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CServerSocket) //使用类向导添加的 public: virtual void OnAccept(int nErrorCode); //}}AFX_VIRTUAL // Generated message map functions //{{AFX_MSG(CServerSocket) // NOTE - the ClassWizard will add and remove member functions here. //}}AFX_MSG // Implementation protected: }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_SERVERSOCKET_H__03952A19_3B2C_45BD_B9BB_FBBD072ED603__INCLUDED_) [3] 存储结构、内存分配 此模块用到了列表的存储结构 客户端: [1] 模块划分图及描述 (1)建立和维护与服务器的连接,并且随时监测连接的状态。 (2)把用户输入的信息及时发送到服务端,同时,随时准备好接收服务端的信息,并将它显示出来。 (3)在用户退出聊天过程时要关闭与服务端的连接。 [2] 类关系图及描述 CClientSocket类通过相应的OnReceive消息来接受数据,响应OnClose消息来断开对话的处理。CClientSocket类实现了以CArc

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档