异步TCP消息回调

daling

好像有类似的问题,但搜索也找不到了,请wolker再解答下,谢谢

用的GatewayWorker,开了4个TCP网关,1和websocket网关,8个worker进程,其中ID=0的worker进程打开AsyncTcpConnection异步TCP接收其他服务器的TCP数据,那么问题是ID=0的worker进程收到的onMessage回调总是来源于同一个网关进程吗?
因为我发现websocket网关因为没有任何连接进入,却有如此多的total_request。

还有一个是Register进程不是应该很少的请求量吗,Register有很多的total_request是否说明内部通讯不畅,或者频繁掉线导致worker或者gateway向Register连接寻找对方的地址,造成total_request上涨?
[attach]709[/attach]

3300 6 0
6个回答

walkor

从截图连接数来看并不是你说的只在0号worker进程上开了AsyncTcpConnection,应该是每个worker进程都开了一个。
AsyncTcpConnection 收到消息后也会让total_request累加。

Register的total_request不断增加是因为Register与其它服务保持心跳的请求导致的,没有问题

  • 暂无评论
daling

谢谢
理论上应该是一个WORKER发起的异步TCP都是由同一个GATEWAY网关进程来收发的吗?
因为是多进程监听同端口,不知是不是用到端口复用,

  • 暂无评论
walkor

没懂你什么意思,WORKER发起的异步TCP和Gateway有什么关系?

  • 暂无评论
daling

WORKER发起的异步TCP和目标服务器之间不需要Gateway转发/接收数据吗?
难道是WORKER进程发起的AsyncTcpConnection 直连对端TCP服务器?

  • 暂无评论
walkor

不需要Gateway转发/接收。AsyncTcpConnection直接连服务器

  • 暂无评论
daling

谢谢了

  • 暂无评论
年代过于久远,无法发表回答
🔝