Sep 30, 2009, 3:37 AM
Post #1 of 1
problem with udp
I have a problem of a udp packet which is not received on Windows XP.
I open a udp socket using IO::Socket:INET passing a local port number and 'udp' as protocol. Socket is created all right. I then lock the socket on recv() function. I know that that can receive packets because I send messages to it from a java application on the same host and they are all received.
Then I start a perl thread using the 'threads' module. In the new thread I create another socket and try to send a UDP to the socket in recv() in the main thread. They are not received. The funny thing is that the send() function returns the right number of sent bytes. So, I have sent a UDP on localhost, on the right port, send() says all is good but the recv() in the main thread doesn't return. If a second later I try to send a udp from the java app, the recv() returns as usual.
Any idea? Is there any limitation on socket and threads?