摘要: 在基于集群化服务器的游戏中,游戏程序员需要解决如何在服务器间分配客户端以及在服务器间交流信息。 集群化服务器的目的是减少每个服务器需要处理的客户端数量。当每台服务器处理更少的玩家时,意味着更少的客户端与服务器直接相连;仅对在这台服务器上的玩家进行操作。 比如说,如果有100个玩家,随机地将这些客户端分配给2台服务器,每台服务器有50个人。当一个客户端将其移动的消息发送给其所属的服务器时,为了保证... 阅读全文
posted @ 2011-05-19 17:16 红脸书生 阅读(3525) 评论(1) 推荐(3) 编辑
摘要: 游戏空间剖分是针对大型多人游戏的一种优化策略。多个玩家同时在线,客户端与服务器必须频繁进行数据交互,以保持游戏的同步。如果玩家达到上千个,游戏场景巨大,许多玩家在场景中可能相隔遥远,彼此不能相互看到,也不存在任何沟通。在这种情况下,给每个玩家广播场景的更新消息就会消耗巨大的网络带宽。如果将场景进行预先剖分,并在游戏进行过程中实时更新玩家所在的子空间,服务器根据玩家所在的空间索引号,然后只对相同空... 阅读全文
posted @ 2011-05-19 16:25 红脸书生 阅读(1997) 评论(0) 推荐(0) 编辑
摘要: 多播(Multicasting)将数据发送到网络组的各个地址,而不是单个地址。在多播技术中,服务器不是每次给一个地址单独地发送一个消息,而是告诉网络中的路由器,这是一个多播消息,路由器会把这个消息向多个目的地址转发,可以一次给多个地址发送消息。这样一次多播就可以将数据发送到所有需要得到数据的客户端。实际上,多播技术把服务器分发数据的任务转交给了网络中的路由器等路由设备。因此,多播降低游戏服务器的... 阅读全文
posted @ 2011-05-19 15:51 红脸书生 阅读(1512) 评论(0) 推荐(0) 编辑
摘要: 网游数据包发送的特点是:每次发送数据的数据量很小,但是频率非常高。 每次发送数据所占带宽越小,给服务器造成的压力也就越小。 一般用于节约网络带宽的设计策略有: (1)只发送一次静态数据 通常在网络应用程序中,服务器将传送一定量的静态数据给客户端。这些数据可能是为3D世界初始化的参数,客户名字,或者一些对象的不变状态常量。网络引擎应该提供一种缓存字符串数据(客户名字、任务描述等等)的机制,只将给定... 阅读全文
posted @ 2011-05-19 15:10 红脸书生 阅读(2624) 评论(0) 推荐(0) 编辑