我正在尝试编写一个简单的服务器应用程序,用于监听来自客户端的 XMPP 连接的端口,但该应用程序似乎没有打开该端口。
这是我迄今为止尝试过的:
服务器.java
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Collection;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.security.auth.callback.*;
import org.jivesoftware.smack.*;
public class Server implements Runnable{
private static final int DEFAULT_PORT = 5222;
private XMPPTCPConnection connection;
private ExecutorService serv;
public Server() {
connection = new XMPPTCPConnection(new ConnectionConfiguration("localhost",DEFAULT_PORT));
serv = Executors.newCachedThreadPool();
XMPPTCPConnection.addConnectionCreationListener(new ConnectionCreationListener() {
public void connectionCreated(XMPPConnection arg0) {
serv.submit(new ClientWorker((XMPPTCPConnection) arg0));
}
});
connection.addConnectionListener(new ServerListener());
}
public void run() {
while(true)
{
}
}
}
ServerListener是一个实现ConnectionListener的类,ClientWorker是一个实现Runnable的类。
我在 Google 上搜索,但找不到任何使用 smack 库的服务器应用程序的示例,仅适用于客户端应用程序。你能告诉我我做错了什么吗?
最佳答案
Smack 是一个 XMPP 客户端 库。它不提供任何方法,也不意味着运行 XMPP 服务器。
关于java - 使用 Smack 库在端口上监听 XMPP 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24919853/