views:

149

answers:

0

I want to verify that a group of sockets do (or do not) have the SO_LINGER option set on them, but the end I care about isn't my program. Basically, my program is getting an unexpected network reset (RST) and I believe it's because the server is setting SO_LINGER and the client isn't pulling the data fast enough.

I can find plenty of ways to list the sockets and their endpoints, but I can't find a way to enumerate the sockets on a Windows platform and then get the configuration settings for each end of the socket that is on that server. And obviously, something like SO_TIMEOUT or SO_LINGER cannot be captured in a Wireshark trace.

How can I do this? Any solution (C, C++, C#, even VB if necessary) is welcome. Thanks.