UDP 네트워킹 프로그램 (클라이언트 - 서버)을 작성 중입니다. 몇 가지 문제가 있습니다.Java DatagramSocket이 초기화시 멈 춥니 다.
I/O 데이터에 스트림을 사용하고 싶으므로 "udp inputstream"을 검색하여 UDPInputStream 및 UDPOutputStream을 찾았습니다. 그러나 이들을 사용하려고하면 UDPOutputStream을 초기화 할 때 프로그램이 멈추게됩니다.
이
가 정지 내 코드의 라인 :dsock = new DatagramSocket();
것은 왜 실행이 중지 않습니다
outStream = new UDPOutputStream(InetAddress.getByName("127.0.0.1"), port);
System.out.println("UDP output stream initialized."); // <-- doesn't get called
내가 UDPOutputStream의 소스를 체크 아웃, 코드는이 라인에 걸리면 이 줄에? 서버 측에서는 여전히 "오래된"비 스트림 버전의 간단한 UDP 코드를 사용하며 작동합니다. 소켓은 같은 방법으로 초기화되고 끊기지 않습니다. 초기화에 포트 번호를 넣으려고했으나 문제가 해결되지 않습니다.
127.0.0.1에 바인딩 된 UDP 소켓이 로컬 호스트 외부의 아무 곳이나 보낼 수 없습니다. 그게 니가 원하는거야? 그렇지 않은 경우, InetAddress 대신에 null을 시도하십시오. – EJP
데이터를 스트림으로 처리하려면 UDP가 절대적으로 잘못된 프로토콜입니다. TCP를 사용해야합니다. – artbristol
서버는 다른 컴퓨터에서도 동일한 컴퓨터에서 실행되므로 127.0.0.1은 내가 원하는 주소입니다. 그것은 서버 측에서 작동하기 때문에 문제가되어서는 안됩니다. – manabreak