关于TcpAckFrequency和Nagle算法

baogangwang 2008-01-10 09:36:07
刚刚在游戏论坛看到转载的一个解决游戏ping值过高的方法
具体如下:
1、在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\”下
添加TcpAckFrequency (REG_DWORD) = 1(或者2)
2、在“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters”下
添加TCPNoDelay(REG_DWORD) = 1

这样改过以后部分人的ping的确是降下来了,可是对有些人缺无效。
我想知道这样修改的理论依据是什么
修改TcpAckFrequency,关闭Nagle算法会有什么影响?

分数不多,希望各位大大帮忙!
...全文
1104 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
l51 2008-01-12
  • 打赏
  • 举报
回复
哦,那是因為你的游戲使用了 TCP 協議通訊,一般游戲通訊是使用 UDP 的,不是TCP, TCP 在系統默認下是有等待延時、消息隊列延遲,你上面的兩個參數改的就是那東東。
使用 UDP 通訊不會有這種問題。
baogangwang 2008-01-11
  • 打赏
  • 举报
回复
不是ping命令 是游戏里的时间延迟 通常称为“延时”或者用“ping”指代
再明白点就是原来玩游戏延时高,很卡,点了操作以后半天才有反应
修改之后就不卡了,很顺畅
为什么?
l51 2008-01-11
  • 打赏
  • 举报
回复
TcpAckFrequency 是指TCP协议拾取周期率吧,ping 使用的是ICMP协议,与TCP协议无关。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters
下面的TCPNoDelay(REG_DWORD) = 1 也是设定TCP协议的消息队列设定值,也只是与TCP协议有关,与 ICMP协议的ping 无关。

个人感觉,不一定是对的。

6,211

社区成员

发帖
与我相关
我的任务
社区描述
windows网络管理与配置
社区管理员
  • 网络管理与配置社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧