XMPP客户端部分无法连接,问题解决: No response from the server.: User: at org.jivesoftware.sm ack.NonSASLAuthentic

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上收藏点赞。多谢

猜你喜欢

转载自blog.csdn.net/kingmax54212008/article/details/82056164
今日推荐