2010-07-24 13 views
2

我想知道如何在.NET中保持活着的作品,但链接从here不起作用。任何人都可以发布规范链接吗?从哪里可以获得.NET中的套接字保持活动的规范?

我在找什么:

  • 我想知道如何往往是发送的保活分组。

  • 我必须通过命令来设置的KeepAlive:

    s.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.KeepAlive,真正的);

    只在服务器端甚至客户端必须设置此标志?

谢谢!

回答

5

不知道这是你在找什么,但SocketOptionName枚举有一个KeepAlive成员,可以看到here

从文档,你会使用这种方式:

s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); 
+0

谢谢。我想知道保持活动数据包的发送频率。这是在文档中想看到的。 – 2010-07-24 18:59:39

+0

@MartyIX - 根据RFC 1122的默认值是2个小时,这是如何设置窗口的。看到这个博客文章 - 这是一个全球性的注册表设置。 http://www.pcreview.co.uk/forums/thread-2666745.php – Oded 2010-07-24 19:11:00

+0

我在MSDN上也找到了它(http://msdn.microsoft.com/en-us/library/ee470551(VS.85)。 ASPX)。谢谢! – 2010-07-24 19:25:18

1

我有一个writeup on my blog大约保持连接。简短的回答:双方都需要某种形式的存活,但是如果你从一方发起“民意调查”,那么它可以作为一种保持活动。另外,我建议在协议中建立Keepalive权限,而不是使用套接字设置。

在我的博客文章中,我没有深入介绍Keepalive套接字设置的大量细节,因为我相信它不是非常有用(请参阅博客文章以了解详细信息)。

请注意,“全局注册表设置”已在Windows 2000中进行了更改。它现在可以在每个连接的基础上更改。尽管如此,我仍然不推荐它作为存活(详见我的博客文章)。

+0

感谢您的链接。有趣和有用的! – 2010-07-24 19:30:10

相关问题