游戏服务器开发疑问,请赐教
我想做个游戏服务器
由于每个在线用户间要进行大量的数据交互,所以不适合一个用户一个线程。
如果所有的用户连接都在一个进程里处理,考虑到每个用户数据分析时间可能过长,会影响其他用户,而且用户是在一定条件下可分组的,所以考虑每组用户用一个线程。
只开一个端口接受所有用户连接、数据,然后依据条件把fd分发给每个线程
但出现一个问题 就是如何将accept的新fd传给线程
如果用全局变量,涉及到加锁,依然是主任务阻塞,等子线程处理完自己所有的用户fd后,施放fd区的锁
如果用队列,是不是就意味着每个子线程都要开个队列?
考虑用线程不用进程,一是交互数据时方便,二是,添加其他游戏时方便
请大家帮分析一下,指点一下
我没接触过游戏的设计,考虑的可能很不周到、实际,汗颜