Kryonet: хост обнаружения всегда возвращает null

Я пытаюсь использовать Kryonet для создания онлайн-игры.

Когда я даю IP-адрес (жестко закодированный в коде), соединение и отправка/получение работают. Но если я пытаюсь обнаружить сервер, он никогда не отвечает мне: метод всегда возвращает ноль.

Сервер:

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();
}

Что не так в этом коде? Обратите внимание, что мои тесты запускаются на локальном хосте. Здесь проблема?

Спасибо за все ответы.

Джонатан


person Jonathan    schedule 12.04.2013    source источник
comment
Включили ли вы ведение журнала, чтобы определить, почему обнаружение хоста не удается? code.google.com/p/kryonet/#Logging   -  person Travis    schedule 24.04.2013
comment
Привет! Ах, извините, я не вижу эту проблему. Моя проблема решилась, когда я просто добавил эту инструкцию в свой клиент: System.setProperty("java.net.preferIPv4Stack" , "true"); Всем спасибо!   -  person Jonathan    schedule 25.04.2013


Ответы (1)


Если у вас возникла та же проблема, что и у меня, связанная с обнаружением хостов (http://code.google.com/p/kryonet/issues/detail?id=29), затем проверка проекта из SVN (вместо использования zip-файла 2.20) устранила проблему для меня.

person Travis    schedule 24.04.2013