如何正确绑定套接字C#

时间:2019-04-26 16:39:26

标签: c# tcp server

我有一个使用C#运行服务器代码的服务器应用程序。另一方面,有一个作为客户端运行的Android应用。

我可以成功连接这两个应用程序。

我的问题是,如果在不关闭服务器套接字的情况下关闭了服务器应用程序(崩溃或停止了),则当我重新启动应用程序时(已经使用并且失去对套接字的引用),服务器套接字无法再次绑定。

此外,我还有一个按钮来关闭/打开连接。例如,我在端口5000上运行服务器,然后尝试关闭(Server.Close())。

重新启动服务器时,无法再次绑定它,所以我跳过了这一部分,只运行了server.listen()。但是,如果我在进行server.listen()之前在“设置”中更改了端口(在这种情况下需要绑定),则需要处理一种情况。但是以前的套接字会发生什么?不知何故,第一个套接字始终处于打开状态...如果我调用serverSocket.shutdown,则关机后绑定时出现错误(处置错误)。

我应该如何正确处理它:

  • 多次停止/运行APP
  • 崩溃后重新启动应用程序(服务器可能保持打开状态,我不知道待了多长时间)
  • 在设置菜单中由用户更改端口。

0 个答案:

没有答案