在VB中,一个WINSOCKET控件只要CLOSE一下,然后再LISTEN一下就可以继续使用了,但是在C#中,当一个按接断开后,如果再使用,就会提示错误,通常每个端口/套接字...只允许使用一次。如何做才能让我定义的套接字/端口中/可以断开后继续使用?
楼主说过的问题我也遇到过
后边在停止监听中关闭所有客户端底层Socket连接_client.Client.Close();
同时
_listener.Stop();
_listener = null;
在启动监听时重新初始化Listener就对了
在线程中启用,因为你用了listen,所以应该是TCP协议。
如果你说的是客户端,那它只需要知道目标的监听端口,并不绑定本地端口,也就不存在你说的问题。
如果你说的是服务端,那服务端应该是一直保持监听的,不应该随意关闭。
但是你可以使用变量控制是否处理收到的数据,定义_flag为bool标志,在收到数据时判断是否继续监听。
通常服务端为了保持监听效率以及性能问题,都会使用多线程。
类似的代码网上很多,不发上来了。