代码之家  ›  专栏  ›  技术社区  ›  MartyIX

在哪里可以获得.NET套接字中保持活动的规范?

  •  3
  • MartyIX  · 技术社区  · 14 年前

    我想知道keep alive在.NET中到底是如何工作的,但是 here

    我要找的是:

    • s、 SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.KeepAlive,true);

      只有在服务器端,甚至客户端必须设置这个标志?

    2 回复  |  直到 7 年前
        1
  •  6
  •   Oded    14 年前

    不确定这是你要找的,但是 SocketOptionName 枚举具有 KeepAlive here .

    从文档中,您可以这样使用它:

    s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true);
    
        2
  •  2
  •   Stephen Cleary    14 年前

    我有一个 writeup on my blog 关于keepalives。简而言之:双方都需要某种形式的keepalive,但是如果你从一方发起了一个“poll”,那么它就可以充当keepalive。另外,我建议将keepalive权限构建到协议中,而不是使用socket设置。

    在我的博客文章中,我没有详细介绍keepalivesocket设置,因为我认为它不是很有用(有关详细信息,请参阅博客文章)。

    请注意,“全局注册表设置”已随Windows 2000更改。现在开始 可以 在每个连接的基础上进行更改。不过,我还是不推荐它作为keepalive(详情请参阅我的博客文章)。