这是一个好的多线程服务器设计吗?
|
我有一个用于客户端-服务器游戏的服务器(最好是小型MMO的基础),我正在尝试确定组织所有内容的最佳方法。这是我所拥有的概述:
[server start]
load/create game state
start game loop on new thread
start listening for udp packets on new thread
while not closing
listen for new tcp connection
create new tcp client
start clients tcp listener on new thread
save game state
exit
[game loop]
sleep n milliseconds // Should I sleep here or not?
update game state
send relevant udp packet updates to client
every second
remove timed out clients
[listen for udp]
on receive, send to correct tcp client to process
[listen for tcp] (1 for each client)
manage tcp packets
这是用于管理游戏状态,tcp连接以及发送/接收udp数据包以进行状态更新的合理设计吗?有任何意见或问题吗?
我对进行游戏循环的最佳方式最感兴趣。我知道如果我有大量客户端,将会遇到问题,因为我为每个新客户端生成了一个新线程。
没有找到相关结果
已邀请:
3 个回复
导力疵谜
樊熄忙暖
,您就会发现几个带有示例和文档的框架。 更新资料 谢谢,但我宁愿自己做。这仅用于我的附带项目,其主要目的是 恕我直言,通过使用现有框架并专注于游戏设计,您将学到更多的知识,而不是一开始就自己做。 下次您将知道如何设计游戏,这也将使设计IO框架变得更加容易。
荤碗