2009-05-25 12 views
7

Estoy buscando alguna biblioteca que me ayude a conectarme a redes de mensajería instantánea a través de un programa Java.Bibliotecas para conectarse a servicios de mensajería instantánea (IM) como Yahoo, MSN, AIM a través del programa Java

Mi requisito es el siguiente:

  1. usuario debe ser capaz de iniciar sesión, recuperar lista de amigos, y capaz de enviar mensajes a sus amigos
  2. Los mensajes deben ser entregados a amigos fuera de línea también .

He hecho algunas investigaciones sobre lib-purple. Pero no está escrito en Java. ¿Hay algún contenedor Java disponible para el mismo, para que pueda usarlo con un programa Java? ¿O algún plugin libpurple que se pueda usar con un servidor XMPP? O hay alguna otra solucion?

Gracias Aneez

PS:

He tratado servidor Openfire XMPP en conjunto con el IM Gateway Plugin (también trató el Kraken IM Gateway Plugin también). No entrega mensajes fuera de línea a amigos de MSN y AIM (funciona bien para Yahoo y GTalk).

También han tratado las siguientes bibliotecas y se encontró que ellos también no son compatibles con la entrega de mensajes a amigos fuera de línea

  • Java MSN Biblioteca
  • jYMSG (por Yahoo)
  • DAIM (AIM)
+0

¿Me podría mostrar el código de cómo se las arregló para conseguir conectar con Yahoo Instalé Openfire en el servidor y actualmente uso el código de muestra xmpp pero no puedo conectarme con Yahoo y la identificación de msn. Aprecio tu ayuda. Gracias, Ronak – Ronak

Respuesta

1

¿Desea que los mensajes fuera de línea se almacenen localmente o en un servidor? Sé que AIM/MSN tienen algún tipo de servidor para almacenar mensajes fuera de línea, pero no he investigado lo suficiente para saber qué tan accesible es. Otro método sería crear (o usar un bot existente) a los que envíe los mensajes a los que se encargaría la entrega.

Por fin, JAIMBot parece proporcionar una biblioteca que apoya esta: http://jaimbot.sourceforge.net/

buscando en Google "msn bot mensajería fuera de línea" o frases semejantes, es posible que pueda encontrar bibliotecas similares/bots para manejar otros sistemas.

¡La mejor de las suertes!

+0

Mi requisito es que una vez que envíe el mensaje, digamos a un contacto de MSN fuera de línea, él debería recibirlo cuando vuelva a iniciar sesión ... el mensaje debería llegarle y no perderse. Creo que todo este mecanismo de mensaje que se almacena y se entrega a un contacto fuera de línea debe tratarse al final del proveedor del servicio, es decir, MSN y AIM. Digo esto, porque para Yahoo y GTalk, no hago más que enviar el mensaje y automáticamente se eliminan a los contactos fuera de línea la próxima vez que inicien sesión. – aneez

+0

Ok ... Olvidé mencionar que también había probado JAIMBot. A mi no me sirvió. Aparentemente no ha habido mucha actividad de desarrollo últimamente en JAIMBot y el protocolo que ellos admiten parece que ya no es soportado por AIM. Este es el error que obtuve cuando utilicé JAIMbot: 'ERROR: no manejó el protocolo de puntería correctamente'. – aneez

1

Las mismas personas que crearon el servidor XMPP de openfire crearon una muy buena biblioteca de Java para la comunicación con servidores Xmmp y a través del sistema de transporte Jabber a casi todas las posibilidades de mensajería instantánea.

La biblioteca se llama Smack y se puede encontrar en la página de inicio de Ignite Realtime.

Trabajé con diferentes versiones de Smack para algunos proyectos y construí un cliente Jabber personalizado con él. La biblioteca parece muy estable y madura ahora.

no sé cómo los mensajes salientes a los usuarios fuera de línea los mensajes entrantes se manejan, pero a usted mientras usted está fuera de línea se almacenan en el servidor Openfire

+0

@Janusz Bueno, para hablar con el servidor Openfire XMPP, he usado smack. Infact Smack se puede usar para hablar directamente a través del servidor GTalk Pero, smack no se puede usar para conectarse a servicios de mensajería instantánea heredados como Yahoo, AIM y MSN. No creo que estos servicios proporcionen una puerta de enlace XMPP. – aneez

1

He estado luchando para hacer este post. Aparentemente no tengo permitido agregar hipervínculos o incluso URLs.

Google "api java objetivo"

El primer elemento es la creación de aplicaciones habilitadas para AIM en Java, Parte 1. La buena lectura. Básicamente necesita solicitar una clave de desarrollo. El artículo lo guiará a través de la configuración de Eclipse.

Sospecho que los otros servicios requieren una clave de desarrollo también.

¡Salud!

1

Con Java Native Interface puede usar bibliotecas de otros idiomas, p. Ej. C++. Por lo tanto, se puede conectar con ICQ usando ICQ.dll de Miranda IM, etc.

0

Compruebe Kraken de las mismas personas que crearon Openfire ... Sólo Google "Kraken Jabber" y haga clic en el primer resultado

Aquí hay una breve descripción: Kraken es una continuación del complemento Openfire IM Gateway, pero de una manera que funciona para cualquier servidor XMPP. Proporciona una forma para que los usuarios de XMPP inicien sesión y se comuniquen a través de sus cuentas de mensajería instantánea heredadas, como AIM, ICQ, MSN, Yahoo y amigos.

parece estar funcionando muy bien en el servidor I fijó

0

Se puede conectar con un servicio de mensajería instantánea móvil Kik Messenger mediante la API de Kik. Permite que sus aplicaciones de Android o iPhone utilicen el transporte y la infraestructura de Kik para enviar contenido y archivos ricos a otros usuarios de aplicaciones móviles. También es muy rápido de integrar: 5 líneas de código, en escenarios más simples. Hay más información en el sitio web de la API o blog: http://www.kik.com/dev y http://apiblog.kik.com

responsabilidad: yo soy uno de los chicos detrás de Kik API :)

+1

¿Kik proporciona acceso a XMPP más y puedo obtenerlo usando pidgin? –

Cuestiones relacionadas