No se puede conectar el cliente de Android con el servidor XMPP local
Esto es con respecto a publicar aquí
Puedo conectar mi PC a la configuración local del servidor del tigase localmente (estoy usando la API de Smack). Ahora me enfrento a problemas cuando quiero conectar Android Phone a ese servidor a través de Wi-Fi. Puedo conectar con el servidor local usando el cliente Beem para el androide. Mi nombre de dominio de XMPP del servidor es mi nombre de la PC "mwbn43-1" y la dirección IP es "192.168.0.221" (puedo silbar como una bala este servidor de Android Terminal Emulator). En Configuración Beem hay una opción Avanzada donde puedo especificar el servidor con el que quiero conectar (que he dado como dirección IP). Si no configuro esta opción no puedo conectar. Ahora aquí está el fragmento del código que he utilizado para mi cliente android.
- ¿Es la mejor práctica para las conexiones móviles persistentes en Android?
- Android P2P juego multijugador (con a) XMPP / Google charla b) JXTA peerdroid c) de otra manera)
- Integraciones de la API de Google Talk con la aplicación de Android
- Chat y aplicación VOIP
- Asmack XMPP nuevo registro de usuario
XMPPConnection.DEBUG_ENABLED = true; ConnectionConfiguration config = new ConnectionConfiguration("mwbn43-1",5222); //ConnectionConfiguration config = new ConnectionConfiguration("192.168.0.221",5222); config.setSASLAuthenticationEnabled(false); config.setCompressionEnabled(false); XMPPConnection xmpp = new XMPPConnection(config); try { xmpp.connect(); xmpp.login("admin@mwbn43-1", "tigase"); String host = xmpp.getHost(); String id = xmpp.getConnectionID(); int port = xmpp.getPort(); boolean i = false; i = xmpp.isConnected(); if(i) {answer = "Connected to " + host + " via port " + port + " with ID " + id; answerfield.setText(answer);} }//end try catch (XMPPException e) { answerfield.setText("Failed to connect"); Log.v(TAG, "Failed to connect to " + xmpp.getHost()); e.printStackTrace();
También puedo conectar al servidor de la charla del google con la ayuda de este código. Mientras que haciendo la conexión con el servidor local intenté dar la dirección del IP así como el nombre del anfitrión para conectar. Cuando doy IP addr (192.168.0.221) consigo 'ninguna respuesta de server error 'con stream: error (host-unknown) y cuando doy host name (mwbn43-1) consigo' remote-server-timeout (504) 'con host no resuelto.
Miré el código de Beem para ver cómo se conecta con el servidor, pero no pudo encontrar mucho. También he dado permisos de usuario para Internet.Can nadie por favor dime qué líneas de código debo agregar para comunicarse con el servidor local.
- Android xmpp cliente xabber
- Cómo utilizar Smack 4.1 en Android?
- Android y (millones de) notificaciones push
- Enviar mensaje desde el complemento del navegador web a android y la aplicación IOS usando XMPP
- Android File Transfer no funciona a través de XMPP y OpenFire
- File Transfer: mostrar el tamaño del archivo 0KB mientras se transfiere el archivo usando smack en android
- La mejor manera de crear un cliente de chat Android XMPP en Unity3D
- Android cómo enviar y recibir imagen y ubicación (usando mapa) en el chat de grupo usando xmpp-smack
Pruebe el constructor ConnectionConfiguration de 3 argumentos. Le dejamos estado el anfitrión, el puerto y el dominio. El host y el dominio no tienen que ser los mismos valores. En su caso, supongo:
ConnectionConfiguration config = new ConnectionConfiguration("192.168.0.221",5222,"mwbn43-1");
Intente eliminar el nombre de host de la llamada de inicio de sesión.
Por ejemplo, use
connection.login("username", "password");
en lugar de
connection.login("[email protected]", "password");
Utilice el constructor de tres argumentos para ConnectionConfiguration . y pasar credenciales sin extensión de nombre de host.
Por ejemplo, vea abajo el código:
ConnectionConfiguration config = new ConnectionConfiguration("hostname/IP address", 5222, "servicename/domainname"); connection = new XMPPConnection(config); connection.connect(); connection.login("user1", "password");`
Asegúrese de que no está usando el tarro nativo smack que no funcionará en android tratar de utilizar asmack o uno de sus antepasados android-and-xmpp-actualmente disponibles soluciones
Comprueba si has declarado el permiso adecuado: android.permission.INTERNET
- No se puede resolver el método setText (java.lang.String)
- cómo hacer clic en el oyente de las imágenes en horizontal ScrollView