【发布时间】:2012-09-13 18:58:14
【问题描述】:
我是网络编程的初学者。我阅读了一些可以在 Internet 上找到的资源,在那里我遇到了 TCP Window Scaling。据我了解,缩放因子是在首次建立连接时在 SYN 数据包中协商的。那么这是否意味着我们为套接字编程编写的代码不能设置 TCP 窗口缩放?是操作系统执行此操作吗?说,在windows环境下,这是怎么发生的,有没有办法让我们手动/动态改变它?
【问题讨论】:
-
为什么要更改窗口大小?
-
如果您可以将窗口大小设置为零,这是检查另一侧是否可用的理论上的好技巧。
-
@Nick:仅供学习,我只是了解TCP通信的概念。
-
@rekire:你能解释一下你的评论是什么意思吗?我对这些东西很陌生。谢谢。
-
窗口大小是一种流量控制机制。如果一侧将窗口大小设置为零,则通信将停止。在带有推送通知的场景中,理论上您可以发送一条零字节的消息,并会收到一个 tcp 通知,表明已收到包。这是检查客户端是否在线而没有数据流量的好方法。要恢复通信,将窗口大小设置为零的一方必须将其设置回更大的值。
标签: c++ windows tcp network-programming