E
Erik Tamminga
Hi,
(.NET Framework 2.0 on Windows 2003 SP1)
I'm getting lots of 10004 WSAEINTR errors when I try to do some UDP
communication. From a packet capture I learned that my application is
responding with an ICMP Port Unreachable after the remote responds to my
query.
Example:
Me -> Remote: UDP request (valid request)
Remote -> Me: UDP response (valid response)
Me -> Remote: ICMP Port Unreachable (with a copy of the response
attached to the ICMP message)
Port numbers do match, so do my payload sequencenumbers.
My basicly code looks like this (removed irrelevant code):
socket = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp);
socket.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName.ReceiveTimeout, timeout);
bytesSend = socket.SendTo(buf, remoteEp);
bytesReceived = socket.ReceiveFrom(inData, inData.Length,
SocketFlags.None, ref sendingHost);
socket.Close();
I get the 10004 error once every 50 requests (could be more or lesss), all
other requests succeed without errors.
Can someone give me some more insight in why I am getting the WinSock 10004
errors?
I've attached the class which is causing the problems. The method in
question is called ExecRequest().
Regards,
Erik Tamminga
(.NET Framework 2.0 on Windows 2003 SP1)
I'm getting lots of 10004 WSAEINTR errors when I try to do some UDP
communication. From a packet capture I learned that my application is
responding with an ICMP Port Unreachable after the remote responds to my
query.
Example:
Me -> Remote: UDP request (valid request)
Remote -> Me: UDP response (valid response)
Me -> Remote: ICMP Port Unreachable (with a copy of the response
attached to the ICMP message)
Port numbers do match, so do my payload sequencenumbers.
My basicly code looks like this (removed irrelevant code):
socket = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp);
socket.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName.ReceiveTimeout, timeout);
bytesSend = socket.SendTo(buf, remoteEp);
bytesReceived = socket.ReceiveFrom(inData, inData.Length,
SocketFlags.None, ref sendingHost);
socket.Close();
I get the 10004 error once every 50 requests (could be more or lesss), all
other requests succeed without errors.
Can someone give me some more insight in why I am getting the WinSock 10004
errors?
I've attached the class which is causing the problems. The method in
question is called ExecRequest().
Regards,
Erik Tamminga