2012-03-20 20 views
2

SMACK APIを使用しているopenfireサーバー上のXMPPクライアントにメッセージを送信できません。 どこが間違っているのか分かりません。 私はgtalk上で同じコードをテストし、うまく動作します。openfireサーバーにメッセージを送信できません

public class SenderTest 
{ 
public static void main(String args[]) 
{ 
    ConnectionConfiguration connConfig = new ConnectionConfiguration("localhost", 5222); 
     connConfig.setSASLAuthenticationEnabled(false); 
     XMPPConnection connection = new XMPPConnection(connConfig); 

     try { 
      connection.connect(); 
      System.out.println("Connected to " + connection.getHost()); 
     } catch (XMPPException ex) { 
      //ex.printStackTrace(); 
      System.out.println("Failed to connect to " + connection.getHost()); 
      System.exit(1); 
     } 
     try { 
      connection.login("sender", "a"); 
      System.out.println("Logged in as " + connection.getUser()); 

      Presence presence = new Presence(Presence.Type.available); 
      connection.sendPacket(presence); 

     } catch (XMPPException ex) { 
      //ex.printStackTrace(); 
      System.out.println("Failed to log in as " + connection.getUser()); 
      System.exit(1); 
     } 

    ChatManager chatmanager = connection.getChatManager(); 
    Chat newChat = chatmanager.createChat("[email protected]", new MessageListener() { 
     public void processMessage(Chat chat, Message message) { 
      System.out.println("Received message: " + message); 
     } 
    }); 

    try { 
     newChat.sendMessage("Howdy!"); 
     System.out.println("Message Sent..."); 
    } 
    catch (XMPPException e) { 
     System.out.println("Error Delivering block"); 
    } 
} 

} 

「メッセージ送信...」と表示されます。 受信側にメッセージが到着しません。 「送信者が」それは、彼らが互いの「名簿」に追加する必要があることを意味している「受信機」にメッセージを送信したい場合

また

+0

もう少し具体的になることができますか?例外はありますか? .. – Molske

+0

いいえ例外はありません... "メッセージ送信..." – frewper

+0

私が覚えている限り - はい、チャットでは、パートナーが自分のロスターに追加されている必要があります。まず試してみてください。あなたがopenfireサーバーへの管理者アクセス権を持っているのは簡単です。 –

答えて

1

あなたはlocalhostのにログインされていますが、 [email protected]にメッセージを送信しています。それが他のユーザーの正しいjidであると確信していますか?私はそれが受信者@ localhostであると期待します。

AFAIK、チャットでは、より一般的なケースですが、お互いの仲間にいる必要はありません。

2

openfireサーバーのエラーログを確認します。 ストリームヘッダーに「」のようなエラーが表示されることがあります。ホスト:example.com ' サーバー名が「localhost」の場合、このようなタイプのエラーが発生しました。次に[email protected][email protected]などのユーザー間でメッセージを送信できます。

しかし、[email protected][email protected]にメッセージを送信できません。

関連する問題