C/Visual C - Ayuda API WINDOWS puerto COM1

 
Vista:

Ayuda API WINDOWS puerto COM1

Publicado por Bernon (3 intervenciones) el 30/03/2006 09:59:11
Saludos estoy implementando una aplicacion en C para poder comunicar dos ordenadores entre si y que puedan primero simular un chat, es decir que una escriba y se vea en la pantalla del otro y viceversa, y despues se puedan enviar un fichero. Yo ya lo he implementado con QBASIC, que trabaja directamente con MS-DOS, pero en C no sale nada. ¿Sabeis como solucionar este problemilla? Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda API WINDOWS puerto COM1

Publicado por fernando.gomez (1603 intervenciones) el 30/03/2006 19:32:59
Hay dos arquitecturas que te podrían servir. Primero, está la llamada y famosa P2P, peer to peer, en la que el ordenador se conecta directamente con otro, usualmente empleando sockets. La segunda es la que emplean los diferentes chats y servicios de IM (i.e. MSN Messenger, Yahoo Messenger, Google Messenger), y que consiste en centralizar la información en algún lugar (i.e. una base de datos) y que los diferentes ordenadores tomen la info. que es suya.

En la primera arquitectura, tienes un programa que debe hacer dos cosas. Primero, se crea un hilo y abres una conexión socket a un puerto determinado, y lo pones a "escuchar". Cuando reciba algo (i.e. un mensaje), lo muestras en pantalla, creas otro hilo que "escuche" y terminas con este hilo. La segunda acción, es que cuando el usuario escriba un mensaje, creas un hilo que abra una conexión socket a una dirección IP en particular, y envías los datagramas.

En la segunda arquitectura, envías los mensajes a un lugar en particular, i.e. una base de datos en algún servidor y guardas el mensaje y el ID de la persona a la que se lo enviaste. A su vez, el programa debe tener siempre un hilo que busque datos en la base de datos, y cuando encuentre alguno que coincida con su ID, lo lee y despliega en pantalla.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda API WINDOWS puerto COM1

Publicado por Bernon (3 intervenciones) el 31/03/2006 08:56:08
Con sockets he programado bajo Linux, pero la cuestion es que tengo que conectar los dos ordenadores por el puerto com1 mediante un null modem y usar las apis de windows y no encuentro casi nada programado ni las funciones para manejar este puerto .Si podeis echarme una mano para ir tirando os lo agradeceria.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda API WINDOWS puerto COM1

Publicado por fernando.gomez (1603 intervenciones) el 31/03/2006 18:50:28
Entonces lo que requieres es leer y escribir en el COM, ¿no? Tonz hasta mejor...

Para leer y escribir datos en los puertos simplemente los abres como si fueran archivos normales, pero en el nombre del archivo pones el nombre del puerto seguido de dos puntos:

HANDLE hCom;
HANDLE hLtp;

hCom = CreateFile(_T("COM1:"), ...);
hLtp = CreateFile(_T("LTP1:"), ...);

Lees con ReadFile y escribes con WriteFile de forma normal.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda API WINDOWS puerto COM1

Publicado por Bernon (3 intervenciones) el 03/04/2006 10:22:29
Si basicamente es eso. Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar