尝试通过 Smack 连接 XMPP 服务器并出现错误
Trying to connect XMPP server by Smack and getting error
我需要使用 Java API Smack 连接 XMPP 服务器并进一步发送 message/receive 消息。
我尝试使用 Smack API (4.1.8),但出现错误 (在下方查找错误).
注意:主机和端口都打开.
Code:`public class Sender {
public static void main(String a[]) throws NoResponseException,XMPPException,
InterruptedException, SmackException, IOException
{
// Create the configuration for this new connection
XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder();
configBuilder.setUsernameAndPassword("user", "******");
configBuilder.setResource("work");
configBuilder.setServiceName("HOstname");
configBuilder.setSocketFactory(SSLSocketFactory.getDefault());
configBuilder.setSecurityMode(SecurityMode.required);
configBuilder.setCompressionEnabled(true);
configBuilder.setHost("thingsociety.im");
configBuilder.setDebuggerEnabled(true);
configBuilder.setPort(5222);
System.out.println("Connected1..............");
XMPPTCPConnection connection = new XMPPTCPConnection(configBuilder.build());
// Connect to the server
try {
System.out.println("Connected2..............");
connection.setPacketReplyTimeout(100000);
connection.connect();
System.out.println("Connected3..............");
// Log into the server
connection.isConnected();
connection.login();
System.out.println("Connected4..............");
}
catch (XMPPException | SmackException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e.getMessage());
}
}
}
Error: No response received within reply timeout. Timeout was 100000ms (~100s). Used filter: No filter used or filter was 'null'.
org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout. Timeout was 100000ms (~100s). Used filter: No filter used or filter was 'null'
所以基本上某些东西(本地防火墙或您的网关上)阻止了传出通信或 configBuilder.setServiceName("HOstname");
服务名称(又名 XMPP 域)是错误的,可能拼写错误 - 特别是大写字母 O
看起来像拼写错误我.
我刚刚探测了 thingsociety.im:5222,它是打开的,所以很可能是防火墙问题。
另一个可能是服务器端未处理的低级错误。
我需要使用 Java API Smack 连接 XMPP 服务器并进一步发送 message/receive 消息。
我尝试使用 Smack API (4.1.8),但出现错误 (在下方查找错误).
注意:主机和端口都打开.
Code:`public class Sender {
public static void main(String a[]) throws NoResponseException,XMPPException,
InterruptedException, SmackException, IOException
{
// Create the configuration for this new connection
XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder();
configBuilder.setUsernameAndPassword("user", "******");
configBuilder.setResource("work");
configBuilder.setServiceName("HOstname");
configBuilder.setSocketFactory(SSLSocketFactory.getDefault());
configBuilder.setSecurityMode(SecurityMode.required);
configBuilder.setCompressionEnabled(true);
configBuilder.setHost("thingsociety.im");
configBuilder.setDebuggerEnabled(true);
configBuilder.setPort(5222);
System.out.println("Connected1..............");
XMPPTCPConnection connection = new XMPPTCPConnection(configBuilder.build());
// Connect to the server
try {
System.out.println("Connected2..............");
connection.setPacketReplyTimeout(100000);
connection.connect();
System.out.println("Connected3..............");
// Log into the server
connection.isConnected();
connection.login();
System.out.println("Connected4..............");
}
catch (XMPPException | SmackException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e.getMessage());
}
}
}
Error: No response received within reply timeout. Timeout was 100000ms (~100s). Used filter: No filter used or filter was 'null'. org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout. Timeout was 100000ms (~100s). Used filter: No filter used or filter was 'null'
所以基本上某些东西(本地防火墙或您的网关上)阻止了传出通信或 configBuilder.setServiceName("HOstname");
服务名称(又名 XMPP 域)是错误的,可能拼写错误 - 特别是大写字母 O
看起来像拼写错误我.
我刚刚探测了 thingsociety.im:5222,它是打开的,所以很可能是防火墙问题。
另一个可能是服务器端未处理的低级错误。