聊天工具和咱们的平常生活愈来愈密不可分,看着 腾讯
大佬的两款工具 QQ
,We Chat
独步江湖, 小马哥
每天在家无聊的数钱玩nginx
小六前几天在某个地方采药,不当心掉入了一个山洞中,昏迷后醒来 发现石壁上刻着九阳神功 其中有一章专门讲如何制做聊天工具的git
C-S 模式 Client-Server 模式
也叫 客户端-服务器模式 客户端和服务器之间约定好各类协议,客户端输入指令 服务器返回计算结果github
TCP 百度百科服务器
UDP 百度百科网络
基础介绍完毕,如何搭建本身的聊天的工具并发
通过前面的介绍 目前客户端和服务器之间呈现如图所示的一种状况 而两个客户端是没法直接通讯的 客户端不在公网上
工具
可是 服务器在公网上 IP PORT 都是固定的 客户端上的应用能够在任何地方连接到服务器 给服务器发送信息post
基于上面客户端能够随时连接到服务器(C/S结构
)3d
服务器上有和各个客户端链接的文件描述符(OS->fd
)code
所以客户端选择服务器上的其余fd
并发送信息给服务器
服务器接收到信息后根据客户端选择的 fd
将信息转发到对应的客户端 完成了用户A 和用户B 之间的通讯
Q: 如何实现群组聊天
A: 无非多选择几个fd