2012-03-19 11 views
1

smack API를 사용하여 openfire 서버에 연결하려고합니다. 그렇게 할 수 없습니다.Openfire 서버에 연결할 수 없습니다.

public class Tests{ 

public static void main(String[] args) { 

    System.out.println("Starting IM client"); 

    // gtalk requires this or your messages bounce back as errors 
    ConnectionConfiguration connConfig = new ConnectionConfiguration("localhost", 5222); 
    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("[email protected]", "setup1"); 
     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); 
    } 
    connection.disconnect(); 
} 
} 

다음은 출력 : 여기에

는 코드입니다.

Starting IM client 
Connected to localhost 
Failed to log in as null 

서버에 연결하는 것 같지만 로그인 할 수 없습니다

답변

2
connection.login("[email protected]", "setup1"); 

localhost에서 서버를 시작한 경우 example.com 도메인에 로그인하면 안됩니다. 단지보십시오 :

connection.login("test", "setup1"); 

을하지만 그건 로그인 할 수 있습니다 기억, 당신은 유효한 사용자 이름과 암호가 필요합니다. 즉, 서버에 암호 "setup1"을 사용하여 "test"사용자를 만들어야합니다.

+0

k ...이 작동합니다. 그래서 서버가 실제 도메인에 있다면, 나는 [email protected]을 사용하여 클라이언트 장치에서 로그인해야합니다. 맞습니까? – frewper

+0

사용자 이름으로 항상 로그인 할 수 있다고 생각하지만 [email protected]도 작동해야합니다. – Maggie

+0

XMPP 인터페이스에는 항상 도메인이 필요합니다. 이 API가 필요로하는지 잘 모르겠지만 일관성을 위해 어쨌든 도메인을 사용하는 것이 좋습니다. –

관련 문제