2011-07-27 116 views

回答

2

TTL告诉数据包在放弃之前他可以经历多少路由器,而Keep Alive会告诉连接多长时间必须保持打开状态而没有活动。

从我读到的关于灵儿的文章中,我看不出与保持活力的区别,我可能在这里错过了一些东西。

编辑:逗留选项允许您关闭套接字,同时告诉它等待一段时间,看看数据是否仍然在电线上;从this page,我们读到

仍有可能在传出的网络缓冲区中的可用数据 后您关闭套接字。如果您想指定套接字在关闭后尝试传输未发送数据的时间量,请创建 一个启用参数设置为true的LingerOption,并将秒数 参数设置为所需的时间量。 seconds参数是 ,用于指示在超时之前连接Socket保持连接 多久。如果您不希望套接字在关闭后连接任意时间长度,请创建一个启用参数设置为false的LingerOption 。在这种情况下,Socket将立即关闭 ,任何未发送的数据都将丢失。一旦创建,将 LingerOption传递给Socket.SetSocketOption方法。如果您是 与TcpClient发送和接收数据,然后将 LingerOption传递给TcpClient.LingerState方法。

+0

插座保持打开的时间谢谢你。设置Linger有什么用处? –

+0

我编辑答案与我发现有关连接 – samy

+0

的回答选项可用于“跳过”TCP连接上的TIME-WAIT状态。虽然可以跳过这个状态,但要注意跳过的后果!我们发现在与HTTP/1.0服务器(很多)通信时,逗留选项非常有用。 – Chris

1

生存时间是设备(跳)网络分组可以交叉的数量(如路由器,交换机等)保持活动的时间当没有数据正被发送或接收的

+0

谢谢你。设置Linger有什么用处? –