tags:

views:

201

answers:

1

I have a problem with MantaRay JMS: I use a static world map because autodiscovery wouldn't work in our network. If more than 10 peers are offline, I get an error 4226.

The problem is: Microsoft set a limit of 10 half-open connections with Windows XP SP2. MantaRay tries to contact every peer, and starts a lot of connections. The first 10 connections are Ok, then when the 11th starts, our software must wait for another connection to time out. Any other program trying to access the network on the same PC times out.

Strange thing is: on some PC the connection times out after 1-2 seconds, and the problem has almost no consequences, on some other, we have to wait 10 or 20 seconds. But according to Microsoft, there's no way to configure the default TCP connect timeout directly, and there are other factors (network switches, routers, VPN...) which could influence that.

I looked at the MantaRay source code, and tried to find a way to set the TCP connect timeout, but MantaRay uses SohetChannels instead of "regular" sockets, and the connect() method has no timeout. Am I missing something?

A: 

You could also patch the TCP/IP connection limit of WinXP... if you don't mind using such things. There are several sites offering patches. Just search Google for "change winxp tcp connection limit" and you'll find most of them. But use those tools on your own risk. Patching the code to work around that limit should be a better approach.

Daniel Bleisteiner
I only write the software, and I have no access to the PCs it will be installed to. This wouldn't be a solution, anyway.
G B
+1 to even it out ... if he didn't know that there's no access to the system configs from the original question, then its good enough not to accept the answer, no need to -1.
crowne
Thanks for your support!
Daniel Bleisteiner
We're not talking about configuration files. I wouldn't install untrusted "patches" on my PC in the first place. The best that could happen is that the patch doesn't work after the next microsoft update.
G B