2013-09-03 4 views
0

Я пытаюсь подключиться к Tigase Server, реализовать клиента на Java с помощью smack API.XMPP Server, smack API connection

ConnectionConfiguration config = new ConnectionConfiguration("192.32.104.93", 5222, "ELVES-D463645"); 
    Connection connection = new XMPPConnection(config); 
    connection.connect(); 

Когда код достигает соединения. Я получаю следующую стек.

stream:error (host-unknown) 
    at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:214) 
    at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44) 
    at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70) 
No response from the server.: 
    at org.jivesoftware.smack.NonSASLAuthentication.authenticate(NonSASLAuthentication.java:73) 
    at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:230) 
    at org.jivesoftware.smack.Connection.login(Connection.java:366) 
    at com.directv.xmpp.client.poc.FirstClient.main(FirstClient.java:20) 
XMPPException Occured while connecting to server No response from the server. 

Может ли кто-нибудь помочь мне найти, где я ошибаюсь. Благодаря!

ответ

3

Я нашел решение для этого.

Я ввел имя службы и имя хоста в неправильном месте.

и потому, что мой сервер локально размещен. следующий код для работы с Tigase Server.

ConnectionConfiguration config = new ConnectionConfiguration("localhost", 5222, "yourdomain"); 

имя_домена shoulde быть доменное имя, которое было введено ранее при установке и конфигурации сервера.

Благодарю вас за помощь.

+0

Тогда, пожалуйста, подумайте над тем, чтобы найти ответы, которые вы нашли полезными. – Flow

+0

Я нашел решение, а не из любого ответа здесь. Я узнал это сам и ответил здесь, ответ, чтобы он мог быть полезен другим. – hiren

0

Вы даже не дошли до сервера Tigase. Похоже, что ошибка связана с конфигурацией DNS или с параметрами, которые вы передаете в библиотеку Smack. Я не знаю Smack API, но из приложенной вами ошибки похоже, что вы указали неверное имя хоста или, по крайней мере, имя хоста, у которого нет правильной записи DNS. Это нормально, и вы все равно можете подключиться к серверу, если вы также можете указать IP-адрес.

+0

Как вы думаете, имя хоста должно быть «localhost», когда я принимал сервер Tigase XMPP локально. – hiren

0

Попробуйте ниже, или проверьте настройки

ConnectionConfiguration config = new ConnectionConfiguration(XMPP_HOST, XMPP_PORT); 
config.setCompressionEnabled(false); 
config.setSASLAuthenticationEnabled(false); 
connection = new XMPPConnection(config); 
+0

Спасибо, Брауни Лин, но я не могу даже дойти до сервера, некоторые проблемы с настройкой, но я обязательно попробую, как вы предложили, как только я дойду до сервера. Кстати, я забыл упомянуть, что я использую сервер Tigase XMPP, который размещается локально. Спасибо. – hiren

1
ConnectionConfiguration config = new ConnectionConfiguration("192.32.104.93", 5222, "ELVES-D463645"); 

В SERVICENAME, третий аргумент ConnectionConfiguration constructor аутентификация сервера XMPP, кажется неправильным. Я бы ожидал чего-то вроде домена здесь (example.com).

+0

Я принимал сервер Tigase XMPP локально, для которого это имя домена, которое я использовал при установке и настройке. Доменное имя появилось по умолчанию, которое является именем моей машины в сети. – hiren

+0

'ELVES-D463645' не является допустимым доменом DNS и не является допустимым именем службы XMPP, которое ожидается здесь. – Flow

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