我想开个游戏,怕攻击游戏服务器,用哪家服务器好?

游戏服务器 多线程 处理大家好,我们现在在开发一个棋牌游戏服务器,服务器有120个房间,原来的服务器程序员在设计服务器架构的时候,在服务器上创建了120个线程,每一个线程处理一个房间内的牌局逻辑(一个房间一局完成估计要花10分钟左右)。这样的设计虽然使得处理房间逻辑变得非常简单而且思路清晰,但是120的线程让CPU在线程之间切换时花费了太多时间,而且如果以后房间数量增加线程数也会增加,所以,这一块需要重构,我的想法是只创建4个线程来处理120个房间的牌桌逻辑,这样的话每一个线程要处理30个房间的牌桌逻辑,请问:如何让每一个线程下的30房间的逻辑处理就像被CPU分配了时间片段一样轮询处理,而不是一个房间的逻辑处理完了再去处理另外一个房间的逻辑,因为120个房间的逻辑处理一直都是出于活动状态。请给出详细的思路,小生在这里谢过大家了。
回答1:你为什么要阻塞处理呢?
其实房间中的每个逻辑并不需要服务端阻塞吧,假设每个玩家请求都是携带了房间信息的,在队列中依次到达,服务端按照心跳依次处理即可
回答2:一个房间的逻辑处理完,在处理另外的房间,并没有什么问题
应该根据一个房间的一次处理逻辑的时间,和最大能容忍的延迟时间,&算出一个线程能处理的最大房间数量,&比如一个房间,处理一次逻辑10ms,&最大允许&1s延迟,&那么一个线程能处理&100个房间
std::list&House$>$house_
//线程处理主函数
void&threadmain()
&&&std::for_each(house_list.begin();&houselist.end();&[&](House&house){
&&&&&&&&house.tick();&//处理一个房间的逻辑
&&&Sleep(1);从零开始写一个简单好用的游戏服务端引擎(4)
弄了第一个初步的版本,有兴趣的人可以来看看.还有很多不完善的地方,大家有兴趣可以一起来改改.
/sherry0319/YTSvrLib
目前我最想优化的是网络层和事件层.我感觉逻辑不太清晰.写法不够优雅.以后慢慢完善.
写了快有6年的游戏服务端了.是时候总结一下经验了.以防老了就忘了.也想和大家一起交流学习一下.以完善功能.
用过五个游戏服务端引擎,自己也写了两遍.最近写的一个也在线上愉快的跑了两年游戏了.
自认为还是比较好用的,没有太多繁枝末节的功能.刚好能支撑常用的游戏需要.
其中还有很多不完善的地方,希望看到的人能不吝指教,晚辈不甚感谢!
在这里记录下来其中的一些细节.以供大家交流学习.
等完善了就传github.
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:980次
排名:千里之外已收藏本页面
本人在一个网页游戏公司工作,需要开新服的时候,要给服务器起名;---------哥哥说千军破很好玩----------------------------同事A正在给一款三国游戏的新服务器起名,但是三国成语已经用的差不多了,于是问大家:七进七出怎么样?一位女女听到后大喊“什么七进七出啊,我还九浅一深呢”;于是大家都很欢乐,小A耐心的给女女解释道:我说的是赵云……;女女脸红了:我说的也是赵云,那杆枪……;于是大家更欢乐了;
此女左脸刻着“彪”右脸刻着“悍”。话说七进七出叶太少了吧,怎么滴也要弄个百进百出啊~
我表示跟lz是一个公司的........
服务器的名字是这么来的啊!!太欢乐了!!!
她们老是拿我说事儿,七进七出,九浅一深怎么了!累的半死的是自己,爽的上天的是别人。
……赵云表示压力很大。
爱学习的人
后才能发表评论
你可能喜欢的图片笑话
最受欢迎的爆笑笑话开一个传奇网页游戏需要多少钱_网页游戏服务器架设成本分析_唐朝游戏
开一个传奇网页游戏需要多少钱_网页游戏服务器架设成本分析}

我要回帖

更多关于 巴拿马抗攻击服务器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信