如何实现测定网速(象联众那样)?倾家荡产给分!!!(30分)

  • 主题发起人 主题发起人 samxu
  • 开始时间 开始时间
S

samxu

Unregistered / Unconfirmed
GUEST, unregistred user!
如何实现测定网速(象联众那样)?
就象联众游戏那样,每个玩家都有网速,最好给出源代码,
回答问题,我把所有的分数都给他!!!
 
不用ping组件能实现吗?
 
不用Ping的话,用Echo吧!
通过TNMEcho组件实现测试网速。(该控件在Delphi的FastNet面板上)
你首先要指定一个Echo服务器地址及端口(一般为7),然后通过NMEcho.Connect;连接服务器,
NMEcho.Echo('测速字符串');向服务器发送字符串以后,通过FloatToStr(NMEcho.ElapsedTime);即可
获得所用网速时效。
当然上面有一个问题,只能针对Echo服务器,如果目标服务器不是的话,就只能Ping了!
 
谢谢您的帮助!
请问联众游戏里的网速是这么实现的吗?
如果是用ping的话,对方如果装了防火墙,会不会出现ping不到的情况?
 
应该是的!
对方装了防火墙,服务器当然ping不到,但是你不要忘了一点,不是有客户端软件安装吗?
你通过该软件从内部透过防火墙就可以ping了!这就是为什么联众要你安装联众大厅的原因?
其实说穿了这也就是网络神偷等远程控制软件破防火墙的原理!
你只要准备好服务器,然后提供客户端软件给用户使用即可,别的你不需要担心了!
 
谢谢你。
您的意思是指从客户端ping服务端?
还是在客户端加一个ping组件就可以ping服务端了吗?
 
我也遇到了这个问题
关注
 
想知道答案
 
有ping组件吗
 
你可以使用NETXRAY来精确测定网络速度,每秒多少包多少字节都知道若你想等一等你可以使用我编制的SNIFFER程序,
ANALYZER程序,DECESSION程序,不日即将完工!
 
老兄,有没有搞错,我是不借用已写好的程序,要自己写啊
 
http://www.linkwan.com/gb/broadmeter/
[:(][:(]
 
方法一:SERVER发往客户端一个命令,客户端返回一个成功响应,然后SERVER计算从发送
到接收到的时间差别.这可使用一条独立链接来完成,优点是绝对准确.
方法二:在用户发送的命令的协议里加上一个保留字段,内含有发出时的服务器时间.等到
服务器收到了命令,就直接可以知道速度.这种方法是在初始化的时候需要有协议取得服务
器的时间,并得到服务器时间和本地时间的差别.优点是省事简单.缺点是很难得非常准确地
取得服务器和本地的时间精确差别.(简单的方法是认为发送和接收所花时间一样,这样可以
从客户端请求时间,然后将得到时间的过程除以二来校正从服务器传回来的时间)
虽然我没看过联众的协议,但是我猜测联众采用第二种方法
 
兄弟们!以 ping 的来测试联网速度的方法看来要少用了!现在绝大多数网站因为要防止冲击波一类病毒不断地 ping 主机,而关闭了 ICMP 的 8 号协议,也就是 ping,一般没有返回值(超时)。

建议使用 wenyue 的方法.......
 
后退
顶部