嗨,我正在使用smack.jar连接到我的gmail服务器。但是xmppconnection.connet()失败了,它说服务器没有响应。我正在附上日志。请帮帮我。
线程“main”中的异常连接失败。服务器无响应: 在org.jivesoftware.smack.PacketReader.startup(PacketReader.java:164) 在org.jivesoftware.smack.XMPPConnection.initConnection(XMPPConnection.java:945) 在org.jivesoftware.smack.XMPPConnection.connectUsingConfiguration(XMPPConnection.java:904) 在org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:1415) 在JabberSmackAPI.login(JabberSmackAPI.java:29) 在JabberSmackAPI.main(JabberSmackAPI.java:79)
答案 0 :(得分:1)
要清楚,服务器没有返回此错误,因为您尚未连接到服务器。
这可能是配置问题。如果您的服务器没有客户端DNS SRV记录(例如_xmpp-client._tcp.gmail.com
),那么您需要传递XMPPConnection
对象ConnectionConfiguration
以及要连接的计算机的名称为您的域名。
这也可能是网络问题(连接,路由,防火墙等)。要测试此操作,请在命令行上尝试以下命令:
% dig +short _xmpp-client._tcp.gmail.com SRV
5 0 5222 talk.l.google.com.
20 0 5222 talk2.l.google.com.
20 0 5222 talk1.l.google.com.
20 0 5222 talk3.l.google.com.
20 0 5222 talk4.l.google.com.
% telnet talk.l.google.com 5222
Trying 74.125.155.125...
Connected to talk.l.google.com.
Escape character is '^]'.
>
请注意,您键入大于号字符。此时,大多数XMPP服务器会立即断开连接,因为您已经发送了格式不正确的XML。
如果您遇到网络问题,您会看到以下内容:
Trying 74.125.155.125...
telnet: connect to address 74.125.155.125: Connection refused
telnet: Unable to connect to remote host