![]() |
ClientSocket y ServerSocket
Hola amigos, estoy haciendo un chat en delphi6 utilizando client y server socket.., el problema que encuentro es a la hora de hacer un privado con algun usuario. ya que si lo utilizo asi..
Servidor.Socket.Connections[0].SendText(Edit1.Text); me envia el privado al primer cliente que se conecto, como puedo saber el id de conexion que tiene actualmente un cliente. si vale de algo junto a los datos que recibo me llegan su ip y su nick, por si puedo utilizar de alguna manera para identificarlos. :S |
Cita:
cada vez ke un cliente se conecta a tu server este "crea" una conexion (connections[x]) el cual usa para comunicarse con los clientes.. tons lo ke supongo ke deberias de hacer es una "tabla" en el cual "captures" el "numero de conexion" y un "alias" para ke puedas identificar al cliente.. y poder elegir "el num. de conexion" segun el "alias". no se si se entendio... pero espero haberte dado al menos una idea :) mas o menos... si kisieras hacer un Broadcast (mensaje a todos) los clientes.. seria algo asi Código:
for x:=0 to Servidor.Socket.ActiveConnections-1 do saludos |
Por cada conexion que llegue al chat si es multiconexion almacena cada conexion en un elemento de un array, osea almacena el nº de handle de tal manera que cuando tu vayas a interactuar con esa persona en concreto compare los handles de todas las conexioens activas recorriendo con un bucle el socket y cnd lo encuentre y uses la propiedad sendtext le envie el mensaje al socket que contenga el handle deseado y no lo envie a otra.
pd: me he explicado a lo rapido tenia prisa, si no lo comprendes avisa y te ayudo mejor. |
La franja horaria es GMT +2. Ahora son las 18:42:48. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi