2016-05-19 3 views
-1

Я пытаюсь подключиться к openfire/ejabberd (у меня оба они настроены и протестированы для подключения к strophe.js) на localhost, используя smack. Это то, что я пробовал:Не удалось выполнить следующие адреса: '127.0.0.1:5222' openfire/ejabberd smack

Log.d(TAG, "Connecting to server " + mServiceName); 
      XMPPTCPConnectionConfiguration.Builder config = XMPPTCPConnectionConfiguration.builder(); 
      config.setUsernameAndPassword("[email protected]", "password"); 
      config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled); 
      config.setServiceName("home"); 
      config.setHost("127.0.0.1"); 
      config.setPort(5222); 
      config.setCompressionEnabled(true); 
      config.setDebuggerEnabled(true); 
      final XMPPTCPConnection xmpptcpConnection = new XMPPTCPConnection(config.build()); 
      SASLAuthentication.blacklistSASLMechanism("DIGEST-MD5"); 

      mConnection = new XMPPTCPConnection(config.build()); 
      mConnection.setPacketReplyTimeout(10000); 
      mConnection.addConnectionListener(this); 
      mConnection.connect(); 
      mConnection.login(); 

, но я вернусь:

org.jivesoftware.smack.SmackException$ConnectionException: The following addresses failed: '127.0.0.1:5222' failed because java.net.ConnectException: failed to connect to /127.0.0.1 (port 5222) after 30000ms: isConnected failed: ECONNREFUSED (Connection refused) 

Я использую свой телефон для подключения. Я предполагаю, что это происходит, потому что он не зарегистрирован в Интернете. Я купил домен и создал субдомен, но я понятия не имею, как зарегистрировать мой сервер openfire/ejabberd с этим.

Если что-либо, как и должно быть в конфигурации строителя, может кто-нибудь дать мне некоторые инструкции о том, как зарегистрировать его?

Редактировать: Чтобы зарегистрировать openfire в общедоступной учетной записи, мне нужно включить ssh и выполнить некоторую конфигурацию (я бы предпочел не). Нет ли способа проверить приложение для Android в моей локальной учетной записи?

+0

если у вас есть локальная сеть, чем подключение к ней телефона и компьютера. и дать IPv4 в качестве хоста. –

+0

Я пробовал это, я думаю. Телефон через беспроводной, computrr кабель и ip из ipconfig. К сожалению, я получил ту же ошибку. –

+0

вы можете проверить мой [сообщение здесь] (http://stackoverflow.com/questions/33551229/sending-and-receiving-messages-using-smack-api-for-android/34536098#34536098) –

ответ

1

Вы используете IP 127.0.0.1. Это означает локальный IP-адрес локального компьютера. Выполнение этого с вашего телефона означает, что вы не пытаетесь подключиться к XMPP-серверу на своем компьютере, а на сервере XMPP на своем телефоне.

Не может работать. Вам нужно использовать IP-адрес вашего компьютера.

+0

мой openfire установлен локально на моем ПК. Это дает мне SmackException: exception: java.net.SocketTimeoutException: не удалось подключиться к «локальному IP-адресу». Не могли бы вы дать несколько советов по этой проблеме? благодаря –

0

если вы не нашли ответа на свой вопрос. Попробуйте использовать этот хост 10.0.2.2 вместо вашего (127.0.0.1). Это решает «Соединение отказано».

0

Вы используете IP 127.0.0.1, который является локальным IP-адресом локального компьютера. Он не может работать. мы должны использовать IP-адрес нашего компьютера.

 Смежные вопросы

  • Нет связанных вопросов^_^