我尝试使用Kryonet创建在线游戏。
当我给ip地址(在代码中硬编码)时,连接和sendind /接收工作。 但是,如果我试图发现服务器,它永远不会回应我:该方法总是返回null。
服务器:
public static int UDP_PORT = 54723, TCP_PORT = 54722;
public static void main(String args[]) {
/* ***** server starting ***** */
Server server = new Server();
server.start();
try {
server.bind(TCP_PORT, UDP_PORT);
} catch (IOException e) {
System.out.println("server not deployed");
e.printStackTrace();
System.exit(1);
}
System.out.println("server started");
server.addListener(new ServerListener());
}
客户端:
public static void main(String[] args) {
Client client = new Client();
client.start();
InetAddress addr = client.discoverHost(UDP_PORT, 10000);
System.out.println(addr);
if(addr == null) {
System.exit(0);
}
try {
client.connect(5000, addr, TCP_PORT, UDP_PORT);
} catch (IOException e) {
e.printStackTrace();
}
for(int i = 0; i < 100; i++) {
client.sendTCP(new String("bouh" + i));
}
client.close();
}
此代码有什么问题? 请注意,我的测试是在localhost上启动的。这是一个问题吗?
感谢所有的回应。
乔纳森
答案 0 :(得分:0)
如果您遇到与发现主机(http://code.google.com/p/kryonet/issues/detail?id=29)相关的相同问题,那么从SVN检出项目(而不是使用2.20 zip文件)可以解决我的问题。