rzb*_*rzb 7 networking windows-7 ping gaming
我需要在大约 100 毫秒内永久增加网络延迟,而不会丢失数据包。
原因:在某个服务器和网络游戏上,我的ping比其他人玩的要低得多。我有 15 毫秒,平均为 150 毫秒,这给了我骗子般的优势。
因此,出于好奇,我正在寻找在保持连接稳定的同时增加 ping 的方法。如果有的话,我有哪些选择?
我考虑过 VPN 服务,但由于游戏使用 UDP,这似乎是一个糟糕的选择?
是否有任何路由器/软件可以帮助我解决这个问题?
我在窗户上。
你可以给dummynet一个机会:
添加延迟
我们可以通过添加匹配特定数据包数据的规则来控制流量,然后通过添加延迟或数据包丢失的 Dummynet 管道发送数据包。例如,我们可以为所有流向 xkcd.com 的流量添加 100 毫秒的延迟,如下所示:
Run Code Online (Sandbox Code Playgroud)$ sudo ipfw pipe 1 config delay 100ms $ sudo ipfw add 100 pipe 1 ip from any to xkcd.com 00100 pipe 1 ip from any to any dst-ip 107.6.106.82这里的第一个命令配置一个 id 为 1 的 Dummynet 管道,如果管道不存在则创建管道。第二个命令创建一个编号为 100 的规则,它将数据包与所需的目标地址相匹配,并通过管道路由它们。请注意,任何尝试通过不存在的管道传递数据包的规则都会阻塞流量并引发错误,因此在使用管道之前不要忘记配置管道。再次使用 list 允许我们查看更新的规则集。
Run Code Online (Sandbox Code Playgroud)$ sudo ipfw list 00100 pipe 1 ip from any to 107.6.106.82 65535 allow ip from any to anyping xkcd.com 应该显示 100 毫秒的往返时间加上连接上的实际当前延迟。
Run Code Online (Sandbox Code Playgroud)$ ping xkcd.com PING xkcd.com (107.6.106.82): 56 data bytes 64 bytes from 107.6.106.82: icmp_seq=0 ttl=55 time=117.092 ms 64 bytes from 107.6.106.82: icmp_seq=1 ttl=55 time=124.583 ms 64 bytes from 107.6.106.82: icmp_seq=2 ttl=55 time=117.916 ms 64 bytes from 107.6.106.82: icmp_seq=3 ttl=55 time=121.067 ms在大多数情况下,我们希望通过为来自远程主机的数据包添加相应的规则来模拟全双工连接,以便在两个方向上应用延迟。当我们玩完新规则后,我们可以删除它和管道,如下所示。
Run Code Online (Sandbox Code Playgroud)$ sudo ipfw delete 100 $ sudo ipfw pipe 1 delete
看起来 dummynet 项目包含适用于 Windows 的二进制文件。要调整命令,只需ipfw从提升的命令提示符运行命令就足够了。例如:
ipfw pipe 1 config delay 100ms
ipfw add 100 pipe 1 ip from any to server-ip
ipfw add 101 pipe 1 ip from server-ip to any
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34457 次 |
| 最近记录: |