2014-11-17 1 views
0
MessageListener listener = new MessageListener(){ 
    @Override 
    public void processMessage(Chat chat, Message message){ 
     println message.getBody() 
    } 
} 
ConnectionConfiguration cfg = new ConnectionConfiguration("my-pc",5222); 
cfg.setSASLAuthenticationEnabled(true); 
XMPPConnection con = new XMPPConnection(cfg); 
con.connect(); 
con.login("littlechild","secretpassword"); 
ChatManager mgr = con.getChatManager(); 
Chat chat = mgr.createChat("winnenair",listener); 
chat.sendMessage("Hello!"); 
// con.disconnect(); 

이 코드를 사용하여 "winnenair"이라는 사용자에게 메시지를 보내고 있습니다.스맥 : "Chat chat = mgr.createChat ("winnenair ", listener);"로 작성된 채팅 메시지를 보낼 수 없습니다.

내 OpenFire 관리 콘솔에 나와 코드 (코드)와 사용자 (스파크 IM 클라이언트)가 온라인으로 표시됩니다. 그러나 코드에서 메시지를 보내면 IM 클라이언트에 나타나지 않습니다. 둘 다 같은 랩톱에 있습니다.

내가 잘못 했나요? 추가

:
모두 사용자 문제는이 라인에 국한되어있는 명단

답변

0

에 추가되었습니다

Chat chat = mgr.createChat("winnenair",listener); 

"winnenair"가 "[email protected]"를 할 필요가 이름입니다. 도메인 이름을 사용자 이름에 추가해야합니다.

+0

JID의 domainpart가 올바르지 않습니다. [createChat] (https://www.igniterealtime.org/builds/smack/docs/latest/javadoc/org/jivesoftware/smack/ChatManager.html#createChat (java.lang.String, % 20org)의 javadoc을 참조하십시오. jivesoftware.smack.MessageListener)). – Flow

+0

@ 플로 피겨 :) –