掌握了一些基本的网络socket编程后,本章展示一个支持8~16人的小型网络游戏的编写。
事实上大部分的网络即时战略游戏和网络体育竞技游戏都最多支持16人同时在线。
在小型网络游戏中,所有玩家都运行同一个游戏客户端程序,
其中一个玩家(通常是计算机配置最好、网速最快的那位)将同时运行服务器端程序,这也是限制同时在线人数的主要原因。
大量的玩家将使服务器消耗大量的资源,同时运行服务器和客户端程序会很不现实。
下图展示了小型网络游戏大厅的设计框架:
当服务器启动游戏后,服务器在游戏大厅中调用接收(accept)函数。
这时其他玩家可以加入这个游戏,一旦人数满足游戏要求,服务器可以方便地停止接收状态,开始游戏。
其他玩家将不能再加入这个游戏,除非服务器又打开一个游戏大厅。
事实上大部分的网络即时战略游戏和网络体育竞技游戏都最多支持16人同时在线。
在小型网络游戏中,所有玩家都运行同一个游戏客户端程序,
其中一个玩家(通常是计算机配置最好、网速最快的那位)将同时运行服务器端程序,这也是限制同时在线人数的主要原因。
大量的玩家将使服务器消耗大量的资源,同时运行服务器和客户端程序会很不现实。
下图展示了小型网络游戏大厅的设计框架:
当服务器启动游戏后,服务器在游戏大厅中调用接收(accept)函数。
这时其他玩家可以加入这个游戏,一旦人数满足游戏要求,服务器可以方便地停止接收状态,开始游戏。
其他玩家将不能再加入这个游戏,除非服务器又打开一个游戏大厅。