用socket.io打造一个分布式的基于html的即时通讯系统
socket.io底层通过websocket实现,我们只要直接调用就行了,今天我们来打造一个分布式的即时通讯系统,基于phpsocketio
我们来说说这个系统的架构吧
1、客户端通过http或https携带账号密码等信息访问鉴权服务器,
2、鉴权成功后,返回会话服务器及通知服务器的地址及会话id
3、客户端携带会话id访问会话服务器,访问成功后websocket连接保持
4、客户端端发送消息给另外一个用户,携带会话id及消息发送人及消息内容访问通知服务器
5、通知服务器通过http携带相关信息发送给集群的websocket会话服务器群
6、会话服务器群查找自己的内部链接映射表,将通知发给用户B
7、然后发送一条已发送的消息给用户A
整个流程就是这样,三种类型的服务器,各司其职。
网友评论0