FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
obtener datos mediante ServerSocket
Hola a todos... la verdad estuve leyendo varios codigos sobre delphi en este foro, y a demas de ayudarme bastante con mi proyecto ESTA BUENISIMO!
Acudo a ustedes, porque tengo un problemita que me gustaria resolver. Estoy haciendo un chat privado que consiste en un Servidor que admite varias conexiones y su cliente respectivo... El chat funciona de maravilla, el servidor admite todas las conecciones que yo desee y todo. pero me gustaria que mi servidor reciba a demas de la IP del cliente reciba otros datos. Detallo evento donde el servidor agrega todas las conexiones a un listBox.
Veremos, que a demas de todo, tiene un icono donde se agrega el estado, ejecuta un sonido cuando un cliente se conecta, y en el listbox me agrega la ip de la conexion, y como es multiconexion, me gustaria que ahi me agregue el nombre de la persona que se conecta, yo tengo una funcion que encontre por ahi que obtiene el NOMBRE de usuario de la pc. y me gustaria que en ese listbox aparesca dicho nombre de usuario. Se les ocurre alguna idea de como mediante los sockets mande diche informacion? Yo probe asi: Cuando el cliente se conecta, que mande un mensaje con el comando :
Pero al conectarce otros usuarios, el nombre de usuario no me lo agrega al listbox, sino al memo, que es donde recibo los mensajes... Ahora, si solo se conecta uno, si el listbox recibe el nombre de usuario... De paso, les adjunto la funcion para obtener el nombre de usuario de windows por si alguien lo quiere.
la llamamos asi:
alguna idea? Desde ya muchisimas gracias! M@rton Última edición por martonbarbosa fecha: 22-06-2011 a las 16:38:19. |
#2
|
||||
|
||||
Bueno el tema es mas o menos asi.
Lo que Tendrias que hacer es, en el Eventon Onrecive (creo que es asi) obtener el Texto que queres y luego asignarlo al listbox que queres. Deverias enviarlo con algun parametro o Clave para que cuando parcees el texto sepas que lo que se envia es el nombre de la PC/usuario. (espero que entiendas lo que quiero decir) Es decir: Para enviar el nombre
En el servidor:
Espero que se entienda. Saludos |
#3
|
||||
|
||||
En Verdad Deberia ser:
Espero que te sea de ayuda!! |
#4
|
|||
|
|||
Antes que nada muchas gracias por tu ayuda!
pero la verdad, es que me parece que no es lo que yo estoy buscando.... Digamos, lo que quiero, es que cuando un usuario se conecte, en mi servidor (en el listbox) me aparezca el nombre de usuario. En ese caso, tendria que definir algo parecido en el evento OnClientConnect, no en el evento OnRead, ya que en eso evento esta definido la accion de recibir mensajes... Se entiende? Porque cuando se conecta un usuario, se genera un evento, que lo recibo en el evento OnClientConnect, ahi es donde deberia de hacer algo asi como dices vos. Lo intente y no hubo caso... Quise poner una imagen pero no me dejo :/ De utima si te parece nos ponemos en contacto por msn a ver si me das una manito Desde ya muchisimas gracias! Salu2 M@rton |
#5
|
||||
|
||||
Bueno te comento te dejo un ejemplo de lo que te decia aca en el ftp del foro
http://www.terawiki.clubdelphi.com/a...mpleSocket.zip Lo que hice es un Cliente y servidor en la misma unidad porque es solo para demostrarte como hacer lo que te decia con el Nombre que queres enviar. Cambie tu ListBox por un LitView en modo vsReport, con 2 columnas una para la IP (oculta) y otra donde Pones el Nombre de Usuario. (o de red lo que Quieras). En este Caso yo utilizo enviar un nombre que se pone en un Edit.l y al hacer click en connect, Se conecta al servidor, y al establecer la conexion le envia ese nombre. el servidor Recibe la conexion y Luego recibe el nombre. Busca en el ListView la IP devuelve el ID y pone el nombre que se envio. Por ultimo Seleccionando el nombre, Podes hacer click en el boton "Snd MSG Client" y le enviara al Cliente un mensaje prefijado que sera mostrado en el MEMO que tiene el ejemplo. Para enviar el Mensaje, se busca por el Item seleccionado la IP, se verifica que sea una IP activa y luego le envia el mensaje. es algo muy basico pero creo que puede darte una idea. saludos. PD: si tenes ganas te recomiendo que uses Los componentes de INDY ya que son un poco mas estables y potentes. en caso de que quieras enviar algun archivo o algo similar decime que te comento como hacerlo ( esto lo he hecho con los componentes INDY.) saludos y Espero haberte ayudado.. PD2: Use delphi 5 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Obtener código HTML mediante el componente webbrowser | radge | Internet | 3 | 25-05-2023 22:21:27 |
obtener campo de varios obtenidos de sql mediante un cursor | jesusvp | SQL | 5 | 16-07-2007 20:35:57 |
Modificación de Datos mediante Consultas.. | anghell77 | SQL | 3 | 19-09-2006 03:29:39 |
Como obtener mediante delphi el nombre o la ip de una pc | carlos gonzalez | Varios | 2 | 06-12-2005 01:27:06 |
Introduccion datos en IB mediante DBedit | tomasgarcia | Firebird e Interbase | 2 | 09-07-2004 17:46:08 |
|