- 18
- 0
- 约1.99万字
- 约 29页
- 2017-01-30 发布于重庆
- 举报
北邮程序设计实践报告(聊天程序)附源代码
程序设计实践设计报告课题名称:聊天程序学生姓名:班 级:班内序号:学 号:日 期:2014/6/6课题概述 1.1课题目标和主要内容聊天程序虽然形态各异,但就其本质,却是相同的。这种程序一般由两大部分组成:服务器端聊天程序和客户端聊天程序。服务器端聊天程序负责接收来自客户端的聊天信息,并且根据客户端的要求把这些信息转发到另外一个活多个客户中。客户端聊天程序则负责建立与维护与服务器端的连接,向服务器发送本客户的聊天内容,同时从服务器接收对方的响应。 1.2系统的主要功能(1)可以手动输入服务器IP地址和端口号进行连接(客户端功能)。(2)可以手动建立服务器接受其他客户端的连接要求(服务端功能)。(3)可以发送消息给服务端,显示服务端传来消息(客户端功能)。(4)可以接收客户端发送的消息,并将消息传给所有在线的客户端(服务端功能)。2. 系统设计 2.1 系统总体框架 2.2 系统详细设计 服务端: [1] 模块划分图及描述(1)在特定的端口上等待来自聊天客户的连接请求,并且需要维护一个客户连接表,以记录所有成功的连接。(2)及时接收各个聊天客户发送过来的信息,然后把这些信息转发到一个或多个客户连接。(3)监控这些连接的状态,在客户主动离开或发生故障时从列表中删除相应的表项,并及时更新连接表。 [2] 类关系图及描述CServerSocket类的主要功能是实现OnAccept()消息,负责监听服务端口,是一个服务Socket。此类头文件代码如下:// CServerSocket command targetclass CChatDlg;class CServerSocket : public CSocket{// Attributespublic:CChatDlg * m_dlg;UINT m_uPort;BOOL Init(UINT port, CChatDlg* dlg);// Operationspublic:CServerSocket(){};virtual ~CServerSocket(){};// Overridespublic:// 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// Implementationprotected:};///////////////////////////////////////////////////////////////////////////////{{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类实现了以CArchive对数据进行的串行化。本类的头文件源代码如下:#include PackMessg.h/////////////////////////////////////////////////////////////////////////////// CClientSocket command targetclass CChatDlg;class CClientSocket : public CSocket{// Attributespublic:CArchive* m_aSessionIn;CArchive* m_aSessionO
原创力文档

文档评论(0)