在构造UdpClient对象时,我遇到了一个异常,指定了IPv4系列。这只发生在一台Windows 7 64位机器上,其他具有相同操作系统的机器运行良好。
确切的例外是:
System.Net.Sockets.SocketException (0x80004005): An invalid argument was supplied
at System.Net.Sockets.Socket..ctor(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType)
at System.Net.Sockets.UdpClient.createClientSocket()SocketException.ErrorCode是WSAEINVAL 10022,InvalidArgument
抛出此异常的代码:
this.udpClient = new UdpClient(AddressFamily.InterNetwork);有人能解释一下这个例外告诉我什么吗?IPv4如何成为新UDP客户端的无效参数?
UPDATE:只有在从网络驱动器运行应用程序时才会发生这种情况。在本地运行它不会导致此异常。
发布于 2011-06-27 20:55:28
文档建议您在本例中检查SocketException::ErrorCode。那有什么价值?应该很有教益。我认为家庭聚会很好,否则你会得到ArgumentException。
如果收到SocketException,请使用SocketException::ErrorCode获取特定的错误代码。获得此代码后,可以参考MSDN中的WindowsSocketsVersion2API错误代码文档来了解错误的详细说明。
发布于 2011-06-27 20:55:26
0x80004005是一个被拒绝的访问,你没有权利创建一个套接字,也许你的防火墙?
或者您的套接字正在使用中,您是否在没有终止套接字的情况下就杀死了程序?
https://stackoverflow.com/questions/6498797
复制相似问题