Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14497690
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:57:05

下载本文示例代码
天极IT资讯短信服务 电脑小技巧 function check4() { if (dn.mobile.value.length!=11) { alert("手机号码不正确!"); dn.mobile.focus(); return false; } return true; } 资费:包月5元手机: 介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。   多人网络游戏中如何避免迟延是一个比较重要的话题。作为多人网络游戏开发者,我们总是努力使事情做得更快,减少迟延以获得更多的带宽。这也是我们为什么通常会抛弃TCP的稳定性而使用UDP提高速度的原因。减少延迟,接受更多应答多播也是其中一种方法。在未来的因特网,多播涉及高速高品质跨网络数字电视数据传输。在网络游戏中,多播会给我们带来什么好处?简而言之,它不仅能降低游戏服务器的工作量,并且解决了在网络上无游戏管理者裁判状况下玩家彼此通信的老问题,假如DirectPlay进一步使用多播的话,那么我们也将有更多的理由使用它。  1、基于多播技术的想法(The Idea Behind Multicasting)  在一些理论学说中。它们通常以服务器至客户机作为开发模式,客户机发送数据到服务器,这一输入更新游戏状态并且服务器而后把由上述的信息发送到所有客户机上:  如果说,此刻服务器连接着32个玩家,然后同一样的信息将被发送32次(每个玩家)。如果被送到32个玩家的数据都为20字节,那么将有640字节将必须通过服务器的网络连接被发送出去。如果此时32个玩家又从事着各自不同的任务时,例如敲击键盘或移动鼠标,这些事件产生的数据量将非常庞大。当然,我们必须写出更好的代码处理欲发送的数据,多播可以很好的解决问题。  如何获得多播的帮助呢?这是很好的问题,多播可以显著地减少服务器向网络基层组织发送数据包任务的负担。在多播中,信息包能被送到网络组里的各个地址,而不是单个的地址。   这是一方法类似我们发电子邮件的工作 — 当我们想要把同一内容的电子邮件发送到多个邮件地址时,我们不是在自己的电脑上给每个地址都写一封单独的信。相反,我们会告诉服务器重复的将这信息发送到其它的邮件地址上。  2、不足之处(The Darker Side)  当然,有原因致使多播技术通常情况不被使用到:  一些因特网服务提供者及网络还不支持多播。倒霉。因此,如果你想要在一个游戏中实现多播,你可以增加多播的功能选项。网上很少看见支持多播的游戏,但是它在未来将希望。   只有在多于三个玩家以上的游戏中使用多播技术才是有价值的。  多播需求更多甚至连程序员都懒得浏览检验的代码。就像我们所知道的,实际上多播几乎不需要额外的代码。有限公司采用多播技术的高质量数字电视的主意看起来好像延缓了游戏程序员共同开发程序。我怀疑他应学习黑客论理学,源码开放(非营利)组织万岁。   3、多播工作原理(How Multicasting Works)  你也许听说过广播。广播把数据发送给在网络中的每个地址。不同广播是,多播仅仅发送给那些明确地登记的而且对数据的兴趣的地址。  在一个支持多播的IP网络上,这里存在一些象多播组的事物。如果你想要收到多播数据包,你就必须连接入一个多播组。虽然不考虑成员关系而发送数据包至一个多播组是可能的,但是在发送数据之前自身加入一个组是更好办法(由于某些我不敢冒险的原因)。如果你是你所发送多播数据包目的地的组中的成员,同样你也将收到一份你所发数据的拷贝。一个客户不会受到所有从多播组中发来的数据包,除非数据包被发至socket响应的端口。  因此明智的做法是将所有的游戏客户机连接到多播组,在同一端口上等待循环数据。然后服务器将单个数据包发送到多播组里,当信息包沿着路线被重复某地操作时,将发送到所有的客户机上。zmbbs=1;共3页。 1 2 3 : 天极IT资讯短信服务 电脑小技巧 function check4() { if (dn.mobile.value.length!=11) { alert("手机号码不正确!"); dn.mobile.focus(); return false; } return true; } 资费:包月5元手机: 介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。   多人网络游戏中如何避免迟延是一个比较重要的话题。作为多人网络游戏开发者,我们总是努力使事情做得更快,减少迟延以获得更多的带宽。这也是我们为什么通常会抛弃TCP的稳定性而使用UDP提高速度的原因。减少延迟,接受更多应答多播也是其中一种方法。在未来的因特网,多播涉及高速高品质跨网络数字电视数据传输。在网络游戏中,多播会给我们带来什么好处?简而言之,它不仅能降低游戏服务器的工作量,并且解决了在网络上无游戏管理者裁判状况下玩家彼此通信的老问题,假如DirectPlay进一步使用多播的话,那么我们也将有更多的理由使用它。  1、基于多播技术的想法(The Idea Behind Multicasting)  在一些理论学说中。它们通常以服务器至客户机作为开发模式,客户机发送数据到服务器,这一输入更新游戏状态并且服务器而后把由上述的信息发送到所有客户机上:  如果说,此刻服务器连接着32个玩家,然后同一样的信息将被发送32次(每个玩家)。如果被送到32个玩家的数据都为20字节,那么将有640字节将必须通过服务器的网络连接被发送出去。如果此时32个玩家又从事着各自不同的任务时,例如敲击键盘或移动鼠标,这些事件产生的数据量将非常庞大。当然,我们必须写出更好的代码处理欲发送的数据,多播可以很好的解决问题。  如何获得多播的帮助呢?这是很好的问题,多播可以显著地减少服务器向网络基层组织发送数据包任务的负担。在多播中,信息包能被送到网络组里的各个地址,而不是单个的地址。   这是一方法类似我们发电子邮件的工作 — 当我们想要把同一内容的电子邮件发送到多个邮件地址时,我们不是在自己的电脑上给每个地址都写一封单独的信。相反,我们会告诉服务器重复的将这信息发送到其它的邮件地址上。  2、不足之处(The Darker Side)  当然,有原因致使多播技术通常情况不被使用到:  一些因特网服务提供者及网络还不支持多播。倒霉。因此,如果你想要在一个游戏中实现多播,你可以增加多播的功能选项。网上很少看见支持多播的游戏,但是它在未来将希望。   只有在多于三个玩家以上的游戏中使用多播技术才是有价值的。  多播需求更多甚至连程序员都懒得浏览检验的代码。就像我们所知道的,实际上多播几乎不需要额外的代码。有限公司采用多播技术的高质量数字电视的主意看起来好像延缓了游戏程序员共同开发程序。我怀疑他应学习黑客论理学,源码开放(非营利)组织万岁。   3、多播工作原理(How Multicasting Works)  你也许听说过广播。广播把数据发送给在网络中的每个地址。不同广播是,多播仅仅发送给那些明确地登记的而且对数据的兴趣的地址。  在一个支持多播的IP网络上,这里存在一些象多播组的事物。如果你想要收到多播数据包,你就必须连接入一个多播组。虽然不考虑成员关系而发送数据包至一个多播组是可能的,但是在发送数据之前自身加入一个组是更好办法(由于某些我不敢冒险的原因)。如果你是你所发送多播数据包目的地的组中的成员,同样你也将收到一份你所发数据的拷贝。一个客户不会受到所有从多播组中发来的数据包,除非数据包被发至socket响应的端口。  因此明智的做法是将所有的游戏客户机连接到多播组,在同一端口上等待循环数据。然后服务器将单个数据包发送到多播组里,当信息包沿着路线被重复某地操作时,将发送到所有的客户机上。zmbbs=1;共3页。 1 2 3 : 下载本文示例代码


高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术高级WinSock多人游戏编程技术
阅读(116) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~