有个跨国的聊天想咨询一下大佬们

atie

问题描述

大佬们好,我有2台服务器,一台在中国机房,一台在德国机房,分别部署了websocket服务,德国的用户链接德国机房的websocket,中国的用户链接了中国机房的websocket,请问这两个用户要通过什么才能即时通讯聊天呢??

我的框架是thinkphp8+workerman3.5,然后用的是workerman里面的组件gateway

612 3 0
3个回答

不败少龙

可以通过ip去做区分吗?

  • atie 2024-06-27

    用户1链接的ws是中国的,用户2链接的ws是德国的,通过什么ip可以聊天?没有明白你说的什么意思?

  • 不败少龙 2024-06-27

    服务端分布式部署

aphper

如果你用的是GatewayWorker的话,注册相同的Register服务即可,GatewayWorker会自动转发到对方用户所在的节点。

如果是自己写的话,就看你怎么设计,比如有一个状态服务器,中国用户小明登录服务器A,在状态服务器注册自己的状态,德国用户小强登录服务器B,给A发送消息时,查询小明不在服务器B上,询问状态服务器小明在哪儿,状态服务器告知在服务器A,于是消息发送变成流程 小强-》服务器B-》服务器A

  • 暂无评论
小W

这两台服务器能相互通信吗

  • 暂无评论
×
🔝