Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-08-2003
Silver Silver is offline
Registrado
 
Registrado: jun 2003
Posts: 8
Poder: 0
Silver Va por buen camino
Thumbs up Socket ID

for N := 0 to ServerSocket1.Socket.ActiveConnections-1 do
begin
ServerSocket1.Socket.Connections[N].Close; // Con esto cierra todas las conexiones activas
end;

ServerSocket1.Socket.Connections[3].SendText('hola'); // Con esto envia la palabra "hola" a la conexion nº 3.

Dentro del OnClientConnect (de ServerSocket1)
1º opcion: Socket.SendText('bienvenido'); // Esto envia una bienvenida al cliente conectado

2º opcion: ServerSocket1.Socket.Connections[?].SendText('bienvenido'); // Envia la bienvenida atraves del nº de identificación

Vale, pues el problema es que ese Socket no me dice el nº de identificación (?) de la conexion que se ha conectado para poder enviarle texto utilizando la segunda opcion. ¿Alguien sabe como puedo obtener ese identificador?

Gracias
Responder Con Cita
  #2  
Antiguo 27-08-2003
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 22
__hector Va por buen camino
No existe ningun ID propiamente dicho, sino un arreglo con el numero de conexiones, asi que al conectarse cada cliente este deberia ser justamente el ultimo.

Seria algo como:

ServerSocket1.Socket.Connections[Socket.ActiveConnections - 1].SendText('bienvenido');

En teoria, eh
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #3  
Antiguo 02-09-2003
dantemol dantemol is offline
Registrado
 
Registrado: sep 2003
Ubicación: Salta - Argentina
Posts: 8
Poder: 0
dantemol Va por buen camino
Cita:
Posteado originalmente por hector
No existe ningun ID propiamente dicho, sino un arreglo con el numero de conexiones, asi que al conectarse cada cliente este deberia ser justamente el ultimo.

Seria algo como:

ServerSocket1.Socket.Connections[Socket.ActiveConnections - 1].SendText('bienvenido');

En teoria, eh
Disculpa, pero en este caso el mensaje sería enviado al último en conectarse. Pero si la idea es enviar un mensaje a cualquiera de los clientes conectados cuyo orden de conexión varia ya sea porque se desconectó en algún momento y se volvió a conectar, como sería? Gracias.
Responder Con Cita
  #4  
Antiguo 02-09-2003
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 22
__hector Va por buen camino
Tendrias que mantener una tabla (en memoria o disco) con el listado de las conexiones y las posiciones de cada conexion en el arreglo, actualizandola en los eventos onClientConnect/Disconnect del ServerSocket.

O bien realizar un ciclo cada vez que quieras enviar el mensaje, identificando el ip de cada conexion y determinando si es o no la maquina a la que quieres enviar el mensaje, y proceder (mas sencillo, pero mucho mas costoso)
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:37:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi