2013-04-12 9 views
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(); 
} 

이 코드의 문제점은 무엇입니까? 내 테스트는 localhost에서 시작됩니다. 여기에 문제가 있습니까?

모든 답변을 주셔서 감사합니다.

조나단

+0

로깅을 사용하여 호스트 검색이 실패한 이유를 확인 했습니까? http://code.google.com/p/kryonet/#Logging – Travis

+0

안녕하세요. 아, 죄송합니다.이 문제는 볼 수 없습니다. 클라이언트에이 명령어를 추가하면 문제가 해결되었습니다. 'System.setProperty ("java.net.preferIPv4Stack", "true"); ' 감사합니다! – Jonathan

답변