AFAIR the workaround was to do your own ARP request first in order
to check whether the destination exists or not, utilizing the IP Helper API.

Yes, that what I did.

How can I confirm that this is what's happening with me?

In my case, the blocking was occuring in the main thread. TO see it it was then easy: using the mouse, I moved continuously the form in small circles. When blocked, the application don't paint the form and the window was stuck. Then using WireShark I was able to see that the blocking was when ARP requests were sent to non existant address.

I just did the same test and can confirm this is the case. The call to closesocket() is blocking until all 3 arp requests have been sent.

Now the interesting part is that on another Windows 7 machine the call to closesocket() is not blocking. When looking with wireshark I see that the 3 arp requests are sent, but closesocket() simply does not wait for them.

I'm happy you see the same behaviour as I do.


I did a compare of winsock.dll and ws2_32.dll from both machines, and they are identical. Does anybody have a good idea how to search for the cause for different behavior, or have an idea where it could originate from? Could it be something related to the chipset?

I don't think it is a hardware issue. It is likely a software issue. One of the layer between winsock and the network card has a bug. That is why you see it on one computer and not another.

Determining which layer is faulty will be a difficult task ! I don't know what to say to help you :-(

--
francois.pie...@overbyte.be
The author of the freeware multi-tier middleware MidWare
The author of the freeware Internet Component Suite (ICS)
http://www.overbyte.be




--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to