0
我嘗試使用Kryonet創建一個在線遊戲。Kryonet:發現主機allways返回null
當我給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();
}
什麼問題在這個代碼? 請注意,我的測試是在本地主機上啓動的。這是一個問題嗎?
感謝所有人的迴應。
喬納森
您是否啓用了日誌記錄以確定發現主機失敗的原因? http://code.google.com/p/kryonet/#Logging – Travis
hello! 啊,對不起,我看不到這個問題。 我的問題已解決,當我只是在我的客戶端添加此指令: 'System.setProperty(「java.net.preferIPv4Stack」,「true」);' 謝謝大家! – Jonathan