Хорошо, проблема должна быть тривиальной, но я не могу добраться до нее.Отправить сообщение XMPP (Smack)
У меня есть два пользователи А & B
Их JID для этого примера будет A @ 123 и B @ 123, где 123 является IP сервера.
Я посылаю сообщение от A-> B, используя следующий код:
chat = chatmanager.createChat(username,
new MessageListener() {
public void processMessage(Chat chat, Message message) {}});
String sendUsername = username + "@123";
Message msgObj = new Message(sendUsername, Message.Type.chat);
msgObj.setBody(message);
chat.sendMessage(msgObj);
Я зашит в IP, так что я 100% уверен, что я придаю «@ 123» в конец прозвища, поэтому нет неправильных JID.
Так A @ 123 отправляет msgObj в B @ 123. Так я понял, что XMPP-обмен сообщениями работает. То, что вы не можете отправить из A-> B, но это должен быть A @ 123 -> B @ 123.
Однако, похоже, что мой сервер думает иначе. Он постоянно информирует меня о следующей ошибке:
2010.12.27 19:02:52 [org.jivesoftware.openfire.session.LocalOutgoingServerSession
.createOutgoingSession(LocalOutgoingServerSession.java:258)] Error trying to
connect to remote server: A(DNS lookup: A:5269)
java.net.UnknownHostException: A
В А и списке Б на сервере Openfire, они друг с другом, как контакт с соответствующим JIDs (имя пользователя @ 123).
Может ли кто-нибудь дать представление? Я потерялся.
Редактировать
Я пытаюсь использовать Wireshark, чтобы поймать XML отправлялась и с сервера Openfire, чтобы определить, является ли получатель сообщения правильно назвали (A @ 123 вместо A).
При использовании Wireshark я получил это как XML, передаются:
\302\3469\223\341\3429\000\000\000\000\377\377
Я отключил SSL, я подключен не-надежно. Я не уверен, почему я получаю XML-тип SSL, и что это такое?
Это может быть вызвано только тем, что вы отправили что-то A вместо A @ 123. Проверьте XML, который вы фактически отправляете на сервер (используя Wireshark, если Smack/Openfire не предоставляют проверку потока). – MattJ
Звучит хорошо Мэтт.Раньше не думал о Wireshark. Я не мог понять, как Smack отправил бы A, если бы я жестко закодировал @IP. Я дам вам знать результаты. – Adam
Wireshark не предоставляет всю необходимую информацию. Я считаю, что это связано с тем, что я подключаюсь к порту 5222. XML это дает мне серию цифр вместо фактического XML. Не знаете, как это пройти. – Adam