XMPP客户端部分无法连接,问题解决:
No response from the server.: User: at org.jivesoftware.sm ack.NonSASLAuthentication.authenticate(NonSASLAuthentication
我有一个我在配置文件中设置的XMPP帐户。此JID能够通过XMPP服务器进行身份验证。然而在服务器启动时,我得到: 13:49:33.437 [main] ERROR com.buddycloud.mediaserver.Main - XMPP connection coudn't be started
org.jivesoftware.smack.XMPPException: No response from the server.
at org.jivesoftware.smack.NonSASLAuthentication.authenticate(NonSASLAuthentication.java:73) ~[buddycloud-media-server-jar-with-dependencies.jar:na]
at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:368) ~[buddycloud-media-server-jar-with-dependencies.jar:na]
at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:203) ~[buddycloud-media-server-jar-with-dependencies.jar:na]
at org.jivesoftware.smack.Connection.login(Connection.java:348) ~[buddycloud-media-server-jar-with-dependencies.jar:na]
at com.buddycloud.mediaserver.Main.createAndStartConnection(Main.java:203) [buddycloud-media-server-jar-with-dependencies.jar:na]
at com.buddycloud.mediaserver.Main.startXMPPToolBox(Main.java:122) [buddycloud-media-server-jar-with-dependencies.jar:na]
at com.buddycloud.mediaserver.Main.main(Main.java:52) [buddycloud-media-server-jar-with-dependencies.jar:na]
13:49:33.438 [main] ERROR com.buddycloud.mediaserver.Main - Error while starting XMPP client / component
com.buddycloud.mediaserver.commons.exception.XMPPException: No response from the server.
at com.buddycloud.mediaserver.Main.createAndStartConnection(Main.java:207) ~[buddycloud-media-server-jar-with-dependencies.jar:na]
at com.buddycloud.mediaserver.Main.startXMPPToolBox(Main.java:122) ~[buddycloud-media-server-jar-with-dependencies.jar:na]
at com.buddycloud.mediaserver.Main.main(Main.java:52) ~[buddycloud-media-server-jar-with-dependencies.jar:na]
Caused by: org.jivesoftware.smack.XMPPException: No response from the server.
at org.jivesoftware.smack.NonSASLAuthentication.authenticate(NonSASLAuthentication.java:73) ~[buddycloud-media-server-jar-with-dependencies.jar:na]
at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:368) ~[buddycloud-media-server-jar-with-dependencies.jar:na]
at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:203) ~[buddycloud-media-server-jar-with-dependencies.jar:na]
at org.jivesoftware.smack.Connection.login(Connection.java:348) ~[buddycloud-media-server-jar-with-dependencies.jar:na]
at com.buddycloud.mediaserver.Main.createAndStartConnection(Main.java:203) ~[buddycloud-media-server-jar-with-dependencies.jar:na]
... 2 common frames omitted
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:798)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.waitForClose(SSLSocketImpl.java:1493)
at com.sun.net.ssl.internal.ssl.HandshakeOutStream.flush(HandshakeOutStream.java:103)
at com.sun.net.ssl.internal.ssl.Handshaker.kickstart(Handshaker.java:626)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.kickstartHandshake(SSLSocketImpl.java:1240)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1137)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1149)
at org.jivesoftware.smack.XMPPConnection.proceedTLSReceived(XMPPConnection.java:806)
at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:267)
at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:43)
at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70)
相关配置如下所示: # XMPP
xmpp.component.host=localhost
xmpp.component.port=5347
xmpp.component.subdomain=mediaserver.surevine.com
xmpp.component.secretkey=[ not this time ]
xmpp.reply.timeout=60
xmpp.connection.username=mediaserver
xmpp.connection.password=[ not this time ]
xmpp.connection.host=localhost
xmpp.connection.port=5222
xmpp.connection.servicename=surevine.com
|
# Whether the client will use SASL authentication when logging into the server (true|false).
xmpp.connection.saslenabled=true
# TLS security mode used when making the connection (disabled|enabled|required).
xmpp.connection.securitymode=enabled
如果现在有更高的回复超时,请告诉我 |
针对XMPP创建用户是可以不需要验证的连接。而login是需要把SASLAuthentication打开。
总之, 只要把config的SASLAuthentication打开即可。
-----------------------------------------------------------------------
更多资料,可以参考smack针对xmpp协议的处理:
https://github.com/kkman2008/smark4
如果解决了问题,请在github上收藏点赞。多谢