【发布时间】:2014-07-23 20:00:35
【问题描述】:
我正在尝试编写一个简单的服务器应用程序,它在端口上侦听来自客户端的 XMPP 连接,但该应用程序似乎没有打开该端口。
这是我目前尝试过的:
Server.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 库的服务器应用程序示例,仅适用于客户端应用程序。你能告诉我我做错了什么吗?
【问题讨论】: