2010-03-09 13 views

Respuesta

0

Puede usar o buscar en una biblioteca de red de código abierto como ACE. Una gran cantidad de golosinas allí.

0

Puede usar una biblioteca existente que maneje protocolos de mensajería instantánea, como libpurple.

7

El protocolo UDP no es la mejor opción para el programa de chat de Internet. Los paquetes UDP serán bloqueados por proxies. Y UDP no garantiza la entrega de paquetes. Entonces probablemente el protocolo TCP será una mejor opción.

Echa un vistazo a Boost.Asio Biblioteca. Ya contiene la implementación primitiva de chat program.

+0

+1 para TCP y yo daríamos otro +1 para Boost.Asio (y especialmente sus tcpstreams). – Tronic

+0

Encontré que asio está mal documentado, no está bien soportado y es difícil de entender incluso para un programador experimentado. Yo no lo recomendaría. – Jay

3

¡No nos da muchos detalles aquí!

Si su propósito es realmente hacer una aplicación de chat completamente funcional y completa, le sugiero que consulte XMPP que es un protocolo abierto de mensajería instantánea. Here es una lista de algunas bibliotecas que lo implementan.

Si su propósito es estudiar programación de red y está más interesado en UDP versus TCP por ejemplo, entonces UDP es una mala elección para una aplicación de chat, ya que no garantiza mucho acerca de integridad de datos u ordenamiento. Sus mensajes podrían (¡y lo harán!) Ser recibidos en mal estado o algunos podrían incluso faltar. TCP hace eso para comprobarlo por usted.

En el medio (una muy simple aplicación de chat) se puede poner en práctica sus propias bibliotecas de protocolo y el uso que otros han sugerido aquí como Boost.asio, ACE, POCO, o incluso wxWidgets y Qt, que facilitará el manejo zócalo y también proporcionar lo que se necesita construir una aplicación de escritorio para los últimos 2.

0

UDP es como un tipo de protocolo 'disparar y olvidar'. Es rápido, pero si lo usa para comunicarse a través de Internet, no hay garantía de que recibirá sus mensajes. Incluso si es LAN, tus paquetes aún pueden perderse. Sería más conveniente usar TCP que asegura que sus paquetes lleguen sin errores y en el orden en que los envió.

Cuestiones relacionadas