Я пытаюсь использовать Kryonet для создания онлайн-игры.Kryonet: открытие хоста allways return null
Когда я предоставляю ip-адрес (жестко закодированный в коде), работает соединение и отправка/прием. Но если я попытаюсь открыть сервер, он никогда не отвечает мне: метод всегда возвращает 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
привет! А, прости, я не вижу этой проблемы. Моя проблема решена, когда я просто добавляю эту инструкцию в свой клиент: 'System.setProperty (« java.net.preferIPv4Stack »,« true »);' Спасибо всем! – Jonathan