PDA

Ver la Versión Completa : Problemas con el TIdTCPServer


vejerf
08-11-2007, 13:03:32
Buenas a todos... pongo este post aquí xq no sabía bien si colocarlo en Internet o donde pero en fin aquí está...
Mi problema es el siguiente: Estoy haciendo un servidor basado en el componente TIdTCPServer que debe aceptar conexiones. Mi problema es que cuando he aceptado varias conexiones no sé como enviar datos a uno u otro cliente a mi antojo... ¿Como puedo hacerlo?
Muchas gracias de antemano...

cHackAll
10-11-2007, 15:54:51
Bueno, cuando usaba el ServerSocket en d6 al conectarce un cliente llamaba a un evento, en el cual pasaba como parámetro el objeto del Socket de tal cliente. Una solucion a tu problema es ir llenando un vector de objetos Socket y cada índice del vector individualizará a dicho cliente. Si no me equivoco, el mismo ServerSocket tenía un vector (Sockets[]?), que era lo mismo que te comentaba anteriormente.

Solo falta ver el nombre exacto de la propiedad, pues si difiere no debe ser un nombre de propiedad extraordinario.

vejerf
12-11-2007, 10:45:55
Gracias por tu respuesta cHackAll. La verdad es que ya parece ser q consegui que funcionase de una forma similar a la que me propones. Tengo una estructura correspondiente a los clientes q se pueden conectar y alli inclui un campo AContext que es el parametro que recibo con la conexion de un cliente. Entonces guardando ese parametro en mi estructura me puedo comunicar con un cliente u otro.

Gracias de nuevo...

vejerf
12-11-2007, 18:52:16
Mas problemas :(:(:(...
Estoy hacieno una aplicacion para un localizador que me envia por GPRS los datos de posicion. Pues bien, antes de probar con el localizador me he hecho un simulador (Cliente TCP) que se conecta al host y puerto q le indico y me envia el dato de posicion. Y con ese simulador todo muy bien y muy bonito... el problema viene con el equipo de verdad... q no se si llega a conectarse o no y no logro leer lo q me envia si es q lo hace :(... Alguien puede saber el motivo???

Yo lo q hago en el metodo OnExecute del TidTCPServer es lo siguiente:

TramaGPRS := AContext.Connection.IOHandler.ReadLn;

Es correcto esto???
Gracias a todos...

vejerf
13-11-2007, 20:06:49
Hola... estoy observando el siguiente comportamiento en el TIdTCPServer y es que entra una y otra vez en el metodo OnExecute... es esto normal? lo va haciendo hasta q el cliente se desconecte? Algo mas q deba saber?
Gracias...