Page 2 of 2

Re: Situaciones con TSocket

PostPosted: Fri Feb 05, 2010 4:33 pm
by Salvador
Pero Harbour tiene soporte para sockets ?. Habría que programar de 0 el tratamiento de sockets ?.

Puedes facilitarnos más información al respecto.

Gracias.

Re: Situaciones con TSocket

PostPosted: Fri Feb 26, 2010 4:40 pm
by Salvador
Ocurre el mismo problema con las funciones Inet de Harbour.
He portado a Harbour sin el GUI de FHW la parte del servidor de mi aplicación, inicio un nuevo thread cada vez que se conecta un nuevo cliente. La aplicación funciona correctamente hasta que se han atendido unas 2000 peticiones de clientes, tras lo cual de se corta la conectividad de red de todas las aplicaciones.
Ejecuto el IExplorer, ejecuto "diagnosticar problemas de conexión" y me lanza el error "Windows ha detectado un problema con el catálogo de proveedores de WinSock del equipo." Repara y todo vuelve a funcionar.También se soluciona ejecutando en la consola "netsh winsock reset". Pero el problema se vuelve a reproducir.
Estoy corriendo la aplicación en un equipo con Windos XP SP3. Quizás es una limitación del XP?

Espero que alguien pueda ayudar.

Re: Situaciones con TSocket

PostPosted: Mon Mar 01, 2010 5:46 pm
by carlos vargas
Aca indican que hay un limite de conexion POR SEGUNDO en cada SO.

Limitaciones de conexiones de entrada simultáneas por sistema operativo (sockets por segundo)

Windows 2000 Server / Sin límite/Configurable
Windows 2003 Server / Sin límite/Configurable
Windows XP Home / 5
Windows XP Professional / 10
Windows Server 2008 / Sín límite/Configurable
Windows Vista Home Premium Edition / 3
Windows Vista Home Basic / 3
Windows Vista Starter / 3
Windows Vista Ultimate / 10
Windows Vista Business / 10
Windows Vista Enterprise / 10

http://technet2.microsoft.com/windowsvista/es/library/005f921e-f706-401e-abb5-eec42ea0a03e3082.mspx?mfr=true
http://technet2.microsoft.com/windowsserver2008/es/library/0d35e92b-ddb7-4423-b1e5-df550e25713b3082.mspx?mfr=true
http://support.microsoft.com/kb/314882/en-us

Re: Situaciones con TSocket

PostPosted: Mon Mar 01, 2010 8:25 pm
by Antonio Linares
Salvador, Carlos,

Esa información que habeis proporcionado es muy interesante. Puede deberse a un problema de winsock.dll de Windows ó incluso a una limitación en el número de conexiones, como apuntais.

Yo siempre habia pensado que el problema se debía a una "subida de pila" (stack) en la maquina virtual de Harbour por atender a demasiados clientes simultaneamente que provocaba su caida.

Habría que ver si hay forma de resetear ese problema que indicas, Salvador, en runtime y mediante programación. O si se puede aumentar el número de conexiones límite como indica Carlos.

Re: Situaciones con TSocket

PostPosted: Mon Mar 01, 2010 9:02 pm
by carlos vargas
Antonio, o de alguna forma controlar el numero de conexiones por segundo estableciendo un delay
o algo asi.

salu2

Re: Situaciones con TSocket

PostPosted: Mon Mar 01, 2010 10:36 pm
by Salvador
Con esta aplicacion:
http://deepxw.blogspot.com/2009/01/download-latest-version.html
Se consigue modificar el numero de conexiones a medio abrir que en el caso de XP está limitado por defecto a 10.
Lo he configurado en mi equipo a 500.
La aplicación llega ha recibir hasta 4000 con un pico de 4 simultaneas, de momento solo tengo 6 clientes haciendo canexiones cada 2 minutos, tras lo cual en el sistema se no se puede iniciar ninguna otra aplicación o tarea.
El registro de sucesos del sistema indica un VENT ID 2019 "El servidor no fue capaz de asignar memoria no paginada porque no hay más disponible."
La aplicación no se cuelga, pero deja de recibir conexiones.
El task manager no refleja ningún tipo de anomalía ni en carga de CPU ni en consumo de memoria en los momentos que lo he consultado durante las 24h aprox. que tarda en pararse.
Sería interesante tener alguna herramienta que realice un log del el estado del sistema para poder analizar lo sucedido en el momento critico.
Tampoco descartaría el posible problema que comenta antonio sobre el stack de Harbour.