SMACK API를 사용하여 Gmail에 연결하려고하는데 아래 오류가 발생하며 지난 2 일 동안 계속 처리되었습니다.Smack에서 Google의 XMPP 서비스 (gtalk)에 연결하면 예외적으로 "PLAIN : not-authorized를 사용하는 SASLError"가 표시됩니다.
Exception in thread "main" org.jivesoftware.smack.sasl.SASLErrorException: SASLError using PLAIN: not-authorized
at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:348)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.login(XMPPTCPConnection.java:244)
at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:442)
저는 smack 4.0.3 jars와 Java 7을 사용하고 있습니다. 내 사무실 네트워크에는 Gmail이 차단되어 있지 않습니다. 나는 포럼에서 주어진 모든 제안을 지쳤다.
1. setting SASLMechanism to PLAIN/DIGEST-MD5.
2. adding the Thread.sleep delay after connect.
3. by setting the dummy SSLSocketFactory.
4. removing the domain name from user name.
다음은 실행하려는 코드입니다.
public class JabberExample {
public static void main(String[] args) throws Exception{
XMPPTCPConnection con = new XMPPTCPConnection("gmail.com");
SASLAuthentication.supportSASLMechanism("PLAIN",0);
con.connect();
con.login("username", "password");
Chat chat = ChatManager.getInstanceFor(con).createChat("[email protected]", new MessageListener() {
public void processMessage(Chat chat, Message message) {
System.out.println("Received message: " + message);
}
});
chat.sendMessage("Message..!!");
con.disconnect();
}
}
나는 내가 몇 가지 제안을 얻고 여기에 도움이되기를 바랍니다.
케빈, 도움을 주셔서 감사합니다. 인증 메커니즘을 사용 설정하면 Gmail에 연결하고 채팅 할 수 있습니다. – Bhanu
당신을 진심으로 환영합니다. 이 문제가 해결되면 다른 사람들이 찾을 수 있도록 답변을 수락 해 주시겠습니까? – Kev