1

我编写了一个使用 tigase.jaxmpp.j2se.Jaxmpp 3.0.0 的 JAXMPPClient.java 程序

我的构建路径中有以下 .jar 文件

jaxmpp-core-3.0.0
jaxmpp-j2se-3.0.0

和文件夹 jaxmpp-all-3.0.0 包含许多 .jar 文件。JAXMPPClient.java 如下

Jaxmpp conn = new Jaxmpp();
conn.getConnectionConfiguration().setConnectionType(
    ConnectionType.socket);
conn.getConnectionConfiguration().setDomain(IP_ADDRESS_OF_XMPP_SERVER);
conn.getConnectionConfiguration().setPort(PORT_NUMBER_OF_XMPP_SERVER);
conn.getConnectionConfiguration().setUserJID(FROM_USERID + "@" +
    IP_ADDRESS_OF_XMPP_SERVER);
conn.getConnectionConfiguration().setUserPassword(FROM_PASSWORD);

String s = tigase.jaxmpp.j2se.connectors.socket.
    SocketConnector.HOSTNAME_VERIFIER_DISABLED_KEY
conn.getSessionObject().setProperty(s, Boolean.TRUE);

try {
    System.out.println("Before login");
    conn.login();
    System.out.println("After login");
} catch (final JaxmppException e) {
    e.printStackTrace();
}

我正进入(状态

Before login
Sep 29, 2015 5:17:12 PM tigase.jaxmpp.j2se.Jaxmpp createConnector
INFO: Using SocketConnector
Sep 29, 2015 5:17:12 PM tigase.jaxmpp.j2se.connectors.socket.SocketConnector start
INFO: Resolving SRV recrd of domain '123.45.678.910'
Sep 29, 2015 5:17:12 PM tigase.jaxmpp.j2se.connectors.socket.SocketConnector start
INFO: Opening connection to /123.45.678.910:5222
Sep 29, 2015 5:17:12 PM tigase.jaxmpp.j2se.connectors.socket.Worker run
WARNING: Exception in worker
java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:209)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at tigase.jaxmpp.j2se.connectors.socket.TextStreamReader.read(TextStreamReader.java:49)
    at tigase.jaxmpp.j2se.connectors.socket.Worker.run(Worker.java:99)

After login

IP 地址、端口号、来自 JabberID 和密码是正确的,并且在 iOS 和 Android 应用程序中运行良好。此外,我还能够成功 ping Tigase 服务器 IP 地址。

从哪里抛出 java.net.SocketException ?我该如何解决这个问题?

4

0 回答 0