2010-07-24 14 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

相關問題