Based on what you are describing, my first thought is that perhaps the "double-click" you describe may result in multiple requests in a short (<=30-40 hundredths of a second) interval. This could be examined by performing and examining a packet capture while re-creating the event. If that is the case, then I would consider if a resource conflict is occurring, in which case I might consider if additional "instrumentation" can be added while investigating the problem (either to the code, or possibly even to the modules involved).
By the way, what configuration options are you providing when creating the listening socket? (Perhaps knowing this might help someone else provide a useful thought for a next step in your troubleshooting.)
Hope that helps.