Pregunta

Tengo un problema con MantaRay JMS: Yo uso un mapa del mundo estática porque el descubrimiento automático no funcionaba en nuestra red. Si hay más de 10 compañeros están fuera de línea, me sale un error 4226 .

El problema es: Microsoft establece un límite de 10 conexiones medio abiertas con Windows XP SP2. MantaRay intenta ponerse en contacto con todos los pares, y comienza una gran cantidad de conexiones. Los primeros 10 conexiones están bien, entonces cuando comienza el 11, nuestro software debe esperar a otra conexión de tiempo de espera. Cualquier otro programa intenta acceder a la red en los mismos tiempos del PC.

Lo extraño es: En algunos PC los tiempos de espera de la conexión después de 1-2 segundos, y el problema casi no tiene consecuencias, en algún otro, tenemos que esperar 10 o 20 segundos. Sin embargo, según Microsoft, no hay manera de configurar el TCP predeterminado de tiempo de espera conectar directamente, y hay otros factores (conmutadores de red, routers, VPN ...) que podrían influir en ello.

Me mirado el código fuente MantaRay, y trató de encontrar una manera de establecer la conexión TCP tiempo de espera, pero MantaRay utiliza SohetChannels en lugar de tomas "normales", y la connect () método no tiene se acabó el tiempo. Me estoy perdiendo algo?

¿Fue útil?

Solución 2

Problema resuelto.

He sustituido toda la MantaRay con un proveedor JMS mucho más simple que escribí:. Envío un primer mensaje de prueba a través de UDP, se permite que un compañero para abrir una conexión TCP sólo después de que se recibió este primer mensaje

Esto me enseñó a ser cuidado al usar software de código abierto (GPL).

Otros consejos

También puede parchear el límite de conexiones TCP / IP de WinXP ... si no les importa usar este tipo de cosas. Hay varios sitios que ofrecen parches. Sólo la búsqueda en Google de "cambio WinXP límite de conexiones TCP" y encontrará la mayoría de ellos. Pero el uso de estas herramientas en su propio riesgo. Parchear el código para evitar ese límite debe ser un enfoque mejor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top