2016-09-24 2 views
0

У меня есть требование подключить сервер XMPP с помощью Java API Smack и, кроме того, сделать сообщение отправки/получения сообщения.Попытка подключиться к XMPP-серверу с помощью Smack и получения ошибки

Я пробовал с помощью API Smack (4.1.8), и я получаю ошибки (найти ошибки ниже).

Примечание: оба хоста и порт открыты.

Code:`public class Sender { 
public static void main(String a[]) throws NoResponseException,XMPPException, 
InterruptedException, SmackException, IOException 
{ 
    // Create the configuration for this new connection 
    XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder(); 
    configBuilder.setUsernameAndPassword("user", "******"); 
    configBuilder.setResource("work"); 
    configBuilder.setServiceName("HOstname"); 
    configBuilder.setSocketFactory(SSLSocketFactory.getDefault()); 
    configBuilder.setSecurityMode(SecurityMode.required); 

    configBuilder.setCompressionEnabled(true); 
    configBuilder.setHost("thingsociety.im"); 
    configBuilder.setDebuggerEnabled(true); 
    configBuilder.setPort(5222); 
    System.out.println("Connected1.............."); 

    XMPPTCPConnection connection = new XMPPTCPConnection(configBuilder.build()); 
    // Connect to the server 
    try { 
     System.out.println("Connected2.............."); 
     connection.setPacketReplyTimeout(100000); 
     connection.connect(); 
     System.out.println("Connected3.............."); 
     // Log into the server 
     connection.isConnected(); 
     connection.login(); 
     System.out.println("Connected4.............."); 
    } 

    catch (XMPPException | SmackException | IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     System.out.println(e.getMessage()); 
     } 
    } 
} 

Error: No response received within reply timeout. Timeout was 100000ms (~100s). Used filter: No filter used or filter was 'null'. org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout. Timeout was 100000ms (~100s). Used filter: No filter used or filter was 'null'

ответ

0

Так основно что-то (локальный брандмауэр или шлюз) блокирует outgouing связь ИЛИ configBuilder.setServiceName("HOstname"); имя службы (он же XMPP домена) является неправильным, может быть mispelled - Especialy капитал O выглядит как орфографические ошибки для меня.

У меня только что-то было проверено на предметной принадлежности.im:5222, и это открыто, поэтому, скорее всего, это проблема брандмауэра.

Другой может быть необработанным, ошибка низкого уровня на стороне сервера.

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