Closed nx04 closed 3 years ago
其实需要先维护好登录的用户连接的是哪台服务器,假如:
机器C:x.x.x.1
机器D:x.x.x.2
用户A连接机器C,那么A用户的连接信息是:ip: x.x.x.1 fd: 1 username: A
用户B连接机器D,那么A用户的连接信息是:ip: x.x.x.2 fd: 1 username: B
如果用户C需要给用户A发送消息,那么你服务端需要根据用户A的username:A 去查询用户A到底连的那台服务器,通过查询到是连接机器C,那么,需要把信息转发机器C,然机器C把消息push给用户A,至于怎么转发到不同的机器,这个可以使用消息队列
OK 我基本了解。
我想做到,ws的入口:wss://testwss.tx.com,假如后面有两台机器,M101=192.168.1.101:9501 ; M102=192.168.1.102:9501;
(1)、用户王磊,通过入口 wss://testwss.tx.com 注册 到了后端机器 M101; (2)、用户张三,通过入口 wss://testwss.tx.com 注册 到了后端机器 M101; (3)、用户李四,通过入口 wss://testwss.tx.com 注册 到了后端机器 M102;
能实现如下:
(1)所有在线用户可以点对点收发消息; (2)同时也能群发消息、接收别人群发消息。
请问一下,要实现如上所描述的,easyswoole 框架有没有现成的解决方案?
麻烦您尽快回复一下我的问题,谢谢。 @sockstack
我想做到,ws的入口:wss://testwss.tx.com,假如后面有两台机器,M101=192.168.1.101:9501 ; M102=192.168.1.102:9501;
websocket 结合 rabbitmq 来做分布式
如果机器A的 fd=1 和 机器B的 fd=1 ,这种情况如何处理,如何发送消息。