代码之家  ›  专栏  ›  技术社区  ›  d.moncada

C#当以太网连接/断开时,服务器套接字绑定/重新绑定端点

  •  0
  • d.moncada  · 技术社区  · 6 年前

    背景: socket 绑定到计算机NIC上特定IP地址的服务器。这行得通 如果 the requested address is not valid in its context ". 这是有意义的,因为没有连接,所以无法分配IP地址。

    问题: 插座 插座 开始倾听?请注意,当我重新启动程序时,它绑定正确,一切正常。不过,我想重新启动 插座

    服务器套接字连接 我已经有了代码,如果确定套接字未绑定(在后台服务中完成),则每X秒调用一次连接。当我调用reconnect方法(如下所示)时,仍然会得到错误。

    var listeningSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    listeningSocket.SetSocketOptions(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
    
    // exception thrown here if NIC is not physically connected
    //
    listeningSocket.Bind(new IPEndPoint(address, port));
    
    0 回复  |  直到 6 年前