|
发表于 2004-2-11 10:13:10
|
显示全部楼层
各位好小弟有一点看法,只是个人意见不要见笑.
一、主服务器与游戏服务器分开思考
主服务器负责加载各游戏服务器的地址,这样用户连入玩游戏时只连接主服务器
下载一下地址列表,保存在用户机器中.这样也能分散服务器的负载,各游戏服务器
可以由很多人提供,主服务器只要将列表更新一下,用户连入时比较本机的列表与
服务器列表,如更新则client自动下载列表.
二、关于桌的概念
游戏服务器的线程分配,每一个用户连入时服务器都产生一个线程为用户服务,称作用
户线程
(当然了这个线程的传送数据量是非常小的),负责每一个游戏者在没有开始游戏前的
所有动作.
游戏服务器还应该为每一个已经开始游戏的桌子分配一个线程,这里称游戏处理线程
,游戏处理线程负责游戏的逻辑(这里要做好同步,而且要处理用恶意dos的情况)
一个linux下的进程能创建大约1500左右的线程,这样考虑保守的说一个游戏服务器能容纳的人数就在500人左右吧,不知道2.6内核的是多少,我想一个服务器这样也就够了.
(我有一点不明白,采用阻塞式socket可以为每一个用户线程都创建一个socket吧?)
这样在创建一个游戏线程后,他其实也就是负责几个服务者的用户线程数据的传送
现在只想到这些.
..........以上只是个人想法,有不对的地方请大家指教........ |
|