在玩家登陆时使用Gateway::setSession设置session后,登陆成功之后的Message还是随机分配的Worker处理

Yolanda_zw

玩家在登陆时就调用Gateway::setSession设置session到指定Worker,正常登陆断线重连设置session都是有效的,客户端发来Message都能调用到指定的Worker->OnMessage,但是玩家长时间挂起 只发送心跳,长时间之后断开,再登陆有一定几率导致设置session之后,客户端发来Message会被随机分配Worker

1505 1 0
1个回答

six

gatewayWorker里设置session和消息分配给哪个worker处理好像没关系。
文档说默认路由规则是如果新连接到来时会随机选一个worker,然后这个连接的所有请求都发给这worker处理。
所以如果连接断开,又重连产生新的连接,那么这个连接可能会选择另外一个worker,这个新连接的请求可能会发给另外一个worker处理。

  • Yolanda_zw 2021-07-30

    用Gateway::setSession设置之后就会分配到绑定的Worker,正常登陆进入都是可以的,只有后台挂起时间很长了之后才会出现 随机的情况

  • six 2021-07-30

    Gateway::setSession 和绑定worker没关系

年代过于久远,无法发表回答
🔝