교수님으로부터 UDP 소켓을 사용하여 전송 된 데이터 그램 패킷이 하위 레이어에서 단편화되고 이이 수신자에게 여러 패킷으로 도착할 수 있음을 알게되었습니다. 종료. 예를 들어 데이터 그램 패킷에 1000 바이트 데이터를 보내면 수신 측에서 일 수 있습니다.은 2 바이트, 500 바이트, 12 바이트 등으로 도착합니다. 따라서 그는 여러 수신 (...)하여 보낸 사람이 보낸 전체 1000 바이트 패킷을 받도록 제안했습니다.Datagramsocket : 수신 (...)이 패킷의 단편화를 처리하는 방법
나중에 데이터 그램 소켓 수신을위한 Java 설명서 (...)를 읽었을 때 다음과 같은 행이 있습니다. "이 방법은 데이터 그램을 수신 할 때까지 차단됩니다." 데이터 그램 패킷이 수신되고 Java를 사용할 때 다중 수신을 수행 할 필요가 없습니다 (이론적으로는 그렇다고하더라도)?
Pls. 밝히다. 이 문제를 해결하기 위해 각 패킷에 대해 여러 개의 수신 (...) 옵션 만있는 경우 pls. 이것을하는 방법에 대한 제안을하십시오.
고맙습니다. @Pescis. – arun
또한 바이트 배열 대신 UDP 소켓에서 메시지 대기열 개념을 사용하면 조각화 된 패킷의 순서가 보존된다는 것을 알게되었습니다. 그러나 UDP 소켓이나 패킷을 만들 때 이것을 어떻게 말할 지에 대한 단서는 없었습니다. 아이디어가 있습니까? – arun
@arun 내 편집을 참조하십시오. 나는 당신이 원하는 것을 표준 자바 라이브러리에서 사용할 수 없다는 것을 확신한다. 당신은 그 기능을 구현할 수 있도록 O.S./driver 레벨로 가야 할 것입니다. – ddmps