gpt4 book ai didi

c# - 如何强行关闭 TcpListener

转载 作者:可可西里 更新时间:2023-11-01 02:32:41 29 4
gpt4 key购买 nike

我有一个通过 tcpListener 进行通信的服务。问题是当用户重新启动服务时 - 抛出“地址已在使用”异常,并且服务在几分钟左右无法启动。

有什么方法可以告诉系统终止旧连接以便我可以打开一个新连接? (我不能只使用随机端口,因为服务无法通知客户端端口是什么,所以我们必须依赖预定义的端口)

最佳答案

在绑定(bind)到监听端口之前设置SO_REUSEADDR 套接字选项。看起来相应的 .NET 代码是这样的:

SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1);

关于c# - 如何强行关闭 TcpListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2992568/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com