linux下C++ socket网络编程( 二 )

三:抽象与细化

服务端类需要支持:

1.支持多个客户端接入 , 实现聊天室基本功能 。

2.启动服务 , 建立监听端口等待客户端连接 。

3.使用epoll机制实现并发 , 增加效率 。

4.客户端连接时 , 发送欢迎消息 , 并存储连接记录 。

5.客户端发送消息时 , 根据消息类型 , 广播给所有用户(群聊)或者指定用户(私聊) 。

6.客户端请求退出时 , 对相应连接信息进行清理 。

客户端类需要支持:

1.连接服务器 。

2.支持用户输入消息 , 发送给服务端 。

3.接受并显示服务端发来的消息 。

4.退出连接 。

涉及两个事情 , 一个写 , 一个读 。 所以客户端需要两个进程分别支持以下功能 。

推荐阅读