gpt4 book ai didi

c# - UDP 客户端 - 创建套接字时出现异常通常只允许每个套接字地址(协议(protocol)/网络地址/端口)使用一次

转载 作者:行者123 更新时间:2023-11-30 18:41:23 25 4
gpt4 key购买 nike

我正在我的 C# 应用程序中创建一个 UDP 客户端。

labelEP = new System.Net.IPEndPoint(tempAdd, ethPortAddress);
recvMIUCmndsSocket = new UdpClient(labelEP);
Socket temp = recvMIUCmndsSocket.Client;
//Allow broadcasts
temp.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1);

每当我启动我的应用程序时,它都运行良好。如果我的应用程序有任何问题,应用程序会自行重启。有时当应用程序重新启动时,我会遇到异常:

“通常只允许每个套接字地址(协议(protocol)/网络地址/端口)使用一次”

垃圾收集器似乎没有释放 udpclient 套接字的先前实例。那会发生吗?

问候拉朱

最佳答案

垃圾收集器会负责处理托管对象。根据我的基本理解,套接字是 native Windows 对象,.net 提供了围绕它们的托管包装器。还有一次我的架构师告诉我,当我们关闭一个端口或一个套接字时,Windows 需要一些时间来关闭它。我认为您正面临此问题是因为 Windows 套接字的这种行为。

关于c# - UDP 客户端 - 创建套接字时出现异常通常只允许每个套接字地址(协议(protocol)/网络地址/端口)使用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6861926/

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