关于workerman单进程的问题

redyn

请问下我想在不同的房间类型: 休闲房、竞技房 , 下面有对应的不同金币的房间,金币房间下面有很多桌,每桌4个玩家。 客户端只传进房间 的类型 和对应的金币房id,桌子编号由服务端决定,玩家进入时自动分配到桌上。我想根据不同的房间类型 启动多个实例,是不是我客户端登录的时候连接一个实例,选择房间类型的时候,根据不同的类型再 重新连接对应的实例。

3515 2 0
2个回答

walkor

可以这样做

  • redyn 2015-10-16

    需要如楼下这位兄弟说的用GateWay吗?还是直接断开后重新链接workerman的实例呢

  • walkor 2015-10-16

    房间对战类游戏用workerman比较适合,设置worker单进程,多个worker实例分房间。
    方便客户端之间使用共享变量(如客坐标等等)
    参考 http://wenda.workerman.net/?/question/523

  • redyn 2015-10-16

    @1:那进入不同的房间重新链接的client_id变了,又要重新登陆了,这个有什么好办法吗?流程是先登录账号,然后选选择房间。我想做到登录号的client_id一直保持连接不变,然后可以在进入不同房间的时候也是client_id不变,只是调用不同的worker实例。

  • redyn 2015-10-16

    @1:还有个问题 直接用workerman可以做分布式部署吗。

  • walkor 2015-10-17

    gatewayworker中连接断开后重连client_id肯定要变,无法做到不变。

    对战类游戏用workerman做分布式部署可以参考 http://wenda.workerman.net/?/question/523 的答案

ljfuyuan

可以用GateWay维护用户的连接,这样他只需要登录连接一次就行了,然后发送进入房间的信息,由GATEWAY存储用户当前房间号,根据房间号转发数据到房间进程,不同的房间进程处理不同的逻辑。

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