![]() |
Ayuda con programa de chat en delphi
Hola, espero alguien sepa y pueda ayudarme, mi problema es el siguiente:
Hice un programa que es un chat a base de socket server y socket cliente, el cual se conectan a base de la ip del servidor, por lo que el mensaje que se envia de cualquier cliente o servidor lo visualizan en todos los conectados( los clientes deciden si ponen nombre de usario o como invitado), lo que yo quiero hacer es que el servidor haga una lista de todos los clientes conectados y los clientes puedan ver esta lista y tambien que estos (los clientes) puedan decidir a quien enviar el mensaje, para que sea privado y no público osea que nomas el destinatario sea el que vea el mensaje enviado. No se si me expliqué, pero espero que alguien me pueda ayudar, perdon por las molestias y gracias de antemano. |
Buenas,
La manera más facil es que lo hagas apartir de añadir, por ejemplo, identificadores en las cadenas, que cuando el cliente seleccione un "nick" se mande %%nick%%-mensaje, y al llegar a tu servidor pues busque la ip de el nick y mande el mensaje... No es tarea muy complicada. Respecto a lo de la lista de usuarios... lo mismo, que al conectar un usuario el servidor lo añada a una lista y mande la de los otros usuarios al nuevo cliente... Un saludo y espero ayudarte... |
Gracias por tu ayuda, lo voy a implementar.
|
De nada =) mucha suerte.
|
disculpen, aa como puedo ver la ip de los clientes conectados al servidor desde el servidor claro, algun código?
|
Supongo que utilizarás TServer socket y tu delphi será < delphi 7, así que intenta con:
ServerSocket1.Socket.Connections[numerodecliente].RemoteAddress |
Hola, muchas gracias, sabia que era remote address pero lo estaba usando mal jejeje, diablos que tonto me siento, pero muchas gracias de todos formas si funcionoj ejeje ya logre hacer la lista de ip's, que la utilizare para mandar el mensaje directo segun el cliente decida,pero hay algo que no he podido hacer, como puedo realizar la lista del nick que escogen los clientes, le he intentado de varios modos pero no me sale, intente que al momento de que eligieran el nick, se mandara al servidor el nick con Clientsocket1.socket.sendtext(nickname) oviamente nickname es la variable que reserve para los nombre de usuarios, pero si no tiene caso esto no funciona, que me recomiendan para hacer eso de la lista con nombre de usuario, algun código? please, y luego como se mandaria la lista con puros nicknames de los usuarios conectados al servidor? agradecería mucho.
|
La franja horaria es GMT +2. Ahora son las 18:24:28. |
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