↓↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓↓
sudo pip install urllib3 can solve this question. thanks
> 我看到代码里面,channel和客户端链接绑定。出席聊天室时,会更新channel的next/prev, 如果玩家多个room需要出席。channel的 next/prev 会在多个room中来回变动。请问下,是不是我代码阅读后理解有问题,或者说目前这个实现不支持,一条链接出席多个room 一个人可以加入不同的room,roomId是不同的,加入其他的room,会在当前的room下多一个channel,是隔离的
200并发是指系统可以同时处理200个请求。并发是指在同一时间内,多个请求可以同时进行。例如,一个网站可以同时处理200个用户的请求,就是200并发。
@gofish2020 是这样,channel就是保存在room下的,加入不同的房间,相当于在新的房间建连并生成一个新的channel
WebSocket 和 TCP 协议在即时通讯系统中都有一定的应用场景。尽管 WebSocket 已经满足了许多即时通讯需求,但在某些情况下,TCP 仍然具有一定的优势: 可靠性:TCP 提供了流量控制、拥塞控制和数据包的确认与重传机制,以确保数据可靠地传输。虽然 WebSocket 也是基于 TCP 的,但是某些即时通讯系统可能需要使用 TCP 协议的低级功能,以实现更精细的控制。 性能:WebSocket 协议在 TCP 基础上引入了额外的开销,例如握手过程和帧格式。在对性能和资源有高要求的场景下,直接使用 TCP 可能会带来更低的延迟和更高的吞吐量。 客户端兼容性:虽然大多数主流浏览器都支持 WebSocket,但某些低版本或非主流浏览器可能不支持。此外,在一些嵌入式设备或其他特定客户端上,直接使用 TCP 可能更容易实现。 防火墙和代理限制:某些防火墙和代理服务器可能会限制或阻止 WebSocket 连接。在这种情况下,使用 TCP 可以规避这些限制。...
可以使用,文档中提供了一个在线访问的地址。你如果是本地运行前端ts编译不通过,不大可能是项目代码问题
由于目标serverId故障,当前用户触发重连,可能连接到了其他的serverId上,这个时候msg要去往的serverId是要改变的。 应该弄一个获取当前userId此刻在那个serverId上的方法即可,这样投递出去的消息是可达的
> > 由于目标serverId故障,当前用户触发重连,可能连接到了其他的serverId上,这个时候msg要去往的serverId是要改变的。 应该弄一个获取当前userId此刻在那个serverId上的方法即可,这样投递出去的消息是可达的 > > 再看了下发现昨天想错了!好像也没那么难,如果当前userId因为connect服务失效断开连接,然后再自主地去另一个connect服务身份认证的话,会把userId和serverId组成键值放到redis里。那这样的话在下面这个错误处理里再根据userId拿到serverId就可以了 > > ```go > connectRpc, err := RClient.GetRpcClientByServerId(serverId) > if err != nil { > logrus.Infof("get rpc client err %v", err) > }...
> > > > 看不太懂,我理解是redis用string类型存userId和serverId的对应关系,那只要用userId去查询拿到的应该就是userId对应的最新的serverId 是这个意思
> 可以,作为补偿机制吧