开发者

UdpClient Constructor Throwing SocketException

I'm experiencing an exception upon construction of a UdpClient object, specifying the IPv4 family. This is only occuring on one Windows 7 64-bit machine, other machines with the same OS are working fine.

The precise exception is:

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 is WSAEINVAL 10022, InvalidArgument.

The code that's throwing this exception:

this.udpClient = new UdpClient(AddressFamily.InterNetwork);

Can anyone explain what this exception is telling me? How can IPv4 be an invalid argument for a new UDP client?

UPDATE: This i开发者_运维技巧s only occurring when running the application from a network drive. Running it locally does not cause this exception.


The docs advise you to check SocketException::ErrorCode in this instance. What's the value of that? Should be instructive. The Family param is fine, I would think, or you would get ArgumentException.

If you receive a SocketException, use SocketException::ErrorCode to obtain the specific error code. Once you have obtained this code, you can refer to the Windows Sockets version 2 API error code documentation in MSDN for a detailed description of the error.


0x80004005 is an access denied, you do not have rights to create a socket, maybe your firewall?

Or your socket is in use, have you killed the program without terminating the socket?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜