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
|
||||
|
||||
Curiosa manera de leer mensajes en red
Buenas a todos. Deseo comentarles que estoy trabajando en un proyecto casero que consiste en una aplicacion de Chat para una red local. Utilizo D2009. En mi proyecto he logrado hacer funcionar el chat. Tengo una aplicacion cliente y otra servidor. Utilizo los componentes TClientSocket y TServerSocket de paleta Internet. Hago correr la aplicacion Server en una pc de la red y los clientes en otras maquinas de la misma red. Hasta aqui todo funciona bien, se conectan y se comunican entre si. El problema esta al hacer la lectura del mensaje enviado en el lado del server.
Asi envio el mensaje
y de esta manera lo lee el server
El problema consiste en que el mensaje aparece como un monton de simbolos raros, yo diria que se trata de letras chinas o japonesas. Sin embargo, haciendo lo siguiente en la aplicacion cliente, es decir, en la aplicacion que envia el mensaje:
El server es capaz de leer el mensaje en forma correcta. La modificacion introducida es la instruccion sleep(5); es decir, fracciono el mensaje y lo envio caracter por caracter. El server al recibirlo de esa forma va insertando en el TMemo linea por linea el mensaje a medida que recibe cada caracter. Que en esta oportunidad se trata de letras, al juntarlas horizontalmente conforman el mensaje. Me gustaria saber porque ocurre esto?, se trata de un problema de AnsiString y String? Tambien les comento que utilizando TIdUDPClient y TIdUDPServer no he tenido este inconveniente. Con esos componente funciona muy bien las aplicaciones en el sentido que envio una cadena de texto, por ejemplo "hola" y el servidor me lo muestra tal cual, no en letras chinas como el TServerSocket. Si alguien tiene alguna sugerencia o idea de que puede ser, agradezco explicacion.
__________________
La vida no trata de encontrarse a uno mismo, sino de crearse a uno mismo. Tanto si piensas que puedes como si no, estarás en lo cierto |
#2
|
||||
|
||||
Pues realmente es un tema nuevo para mí. Nunca he trabajo con cosas como estas. Están muy lejos de mis conocimientos. Pero yo de tú me hiría a usmear profundamente en las especificaciones del procedimiento SendText y ReceiveText, incluso en su código fuente para entenderle mejor al asunto.
Saludos, Chris |
#3
|
||||
|
||||
Siguiento la funcion por las entrañas del .PAS
Bueno Chris, siguiendo tu consejo he seguido el procedimiento hasta sus partes intimas gracias a ctrl+click en el IDE y me ha llevado a ver que lo que finalmente termina haciendo es enviar un PChar. Lo cual me complica la interpretacion ya que ni siquiera se trata de una cadena de caracteres como String o AnsiString, asi que eso explica una parte, que enviando caracter por caracter llega la frase. Pero no explica porque no se puede enviar toda la cadena junta. Estaria bueno saber si alguien ha logrado hacer una aplicacion de CHAT con esos dos objetos.
__________________
La vida no trata de encontrarse a uno mismo, sino de crearse a uno mismo. Tanto si piensas que puedes como si no, estarás en lo cierto |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Leer correo Gmail de manera más segura. | marcoszorrilla | Noticias | 2 | 28-12-2007 20:20:53 |
Leer mensajes, solo desde la unit del Form? | paubar | Varios | 2 | 22-08-2007 23:52:39 |
¿cómo accedo a mi cuenta de correo eléctrónico para leer mis mensajes? | nuri | Internet | 1 | 28-04-2005 17:20:01 |
|