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