@940987025 写道:
我这边做小游戏的,是一个画画的游戏,线上已经有版本了,现在想做对战,轮流画画三次看谁画的分高就获胜,服务器配置是2核4GB,20M的带宽,实例是广洲三区,我写的服务器用的nodejs express https socket-io,客户端用的nodejs socket-io-client,服务器端监听客户端连接和发送请求都是一个进程,请求进来还要处理逻辑,也就是简单的房间查找,但是人数多了服务器没事,玩家会中途断线,应该是我单进程单线程的原因,我现在想开多进程,主进程监听玩家连接和管理子进程,用的cluster,主进程在接收到socket后交给子进程去开启socket.on监听,然后子进程中监听到玩家请求后再开一个工作线程去处理相关逻辑,并发送消息回去,现在有两个问题第一个我线上的版本是用socket-io-client,服务器这边socket-io和https无法实现进程PIC通信,要用net模块,但是我对net不熟,替换为net后我的连接还是https的吗,然后我的客户端也要用net模块么,我不想改线上,我测试了一下客户端的socket发送到服务器后可以PIC但是传过去的是underfind,证实真的 已经PIC过了,使用net.socket包装一下也不行,第二个问题是要是成功PIC,在子进程中我开工作线程处理逻辑,是查找房间,但是房间里面包含两个玩家的socket,我不确定可以成功返回socket发送消息,socket可以在线程间传递吗
帖子: 1
参与者: 1