北京邮电大学信息与通信工程学院
程序设计实践
设
计
报
告
课题名称:聊天程序
学生姓名:
班 级:
班内序号:
学 号:
日 期:2014/6/6
1
第 页
北京邮电大学信息与通信工程学院
1. 课题概述
1.1课题目标和主要内容
聊天程序虽然形态各异,但就其本质,却是相同的。这种程序一般由两大部分组成:服
务器端聊天程序和客户端聊天程序。服务器端聊天程序负责接收来自客户端的聊天信息,并
且根据客户端的要求把这些信息转发到另外一个活多个客户中。客户端聊天程序则负责建立
与维护与服务器端的连接,向服务器发送本客户的聊天内容,同时从服务器接收对方的响应。
1.2 系统的主要功能
(1)可以手动输入服务器IP地址和端口号进行连接 (客户端功能)。
(2)可以手动建立服务器接受其他客户端的连接要求 (服务端功能)。
(3)可以发送消息给服务端,显示服务端传来消息 (客户端功能)。
(4)可以接收客户端发送的消息,并将消息传给所有在线的客户端 (服务端功能)。
2. 系统设计
2.1 系统总体框架
客户端 服务器
CClientSocet CServerSocet
TCP/IP TCP/IP
通信底层 通信底层
网卡 网卡
2.2 系统详细设计
服务端:
[1] 模块划分图及描述
(1)在特定的端口上等待来自聊天客户的连接请求,并且需要维护一个客户连
接表,以记录所有成功的连接。
2
第 页
北京邮电大学信息与通信工程学院
(2)及时接收各个聊天客户发送过来的信息,然后把这些信息转发到一个或多
个客户连接。
(3)监控这些连接的状态,在客户主动离开或发生故障时从列表中删除相应的
表项,并及时更新连接表。
[2] 类关系图及描述
CServerSocket类的主要功能是实现OnAccept()消息,负责监听服务端口,
是一个服务Socket。此类头文件代码如下:
// CServerSocket command target
class CChatDlg;
class CServerSocket : public CSocket
{
// Attributes
pu