UDP/Java 데이터 그램 채널 작동 방식에 대해 몇 가지 상충되는 점을 읽었습니다. 나는 몇 가지를 알아야합니다java 데이터 그램 채널 데이터 유실
합니까 UDP는 경우 전체 수신 패킷을 말할 수있는 상속 방법이, 순서대로,라고 .read (의 ByteBuffer 나) 전에? 나는 UDP가 inherit'ly 불완전하거나 순서가 맞지 않는 데이터를 버리는 것을 말하는 적어도 하나의 기사를 읽었습니다.
데이터 그램 채널은 하나의 송신 (버퍼 ..)을 하나의 데이터 그램 패킷으로 취급합니까? 그것의 부분적인 보내는 경우에 무엇?
.read (..)는 명령 인수로 주어진 버퍼가 하나의 데이터 패킷을 처리하도록 설계된 경우 데이터가 삭제되는 결과를 가져올 수 있습니까?
"일어날 수 없습니다."api에서이 라인을 읽었습니다 : 주어진 버퍼에 남아있는 것보다 데이터 그램에 더 많은 바이트가 있다면, 데이터 그램의 나머지는 조용히 버려집니다. 읽기 전에 패킷의 크기를 알 수있는 방법이 있습니까 – user1908813
@ user1908813 아니요. 일반적인 기술은 가장 큰 예상 데이터 그램보다 큰 버퍼를 사용하는 것입니다. 그런 다음 크기가 데이터 그램을 얻는다면 (i) 응용 프로그램 프로토콜 오류이고 (ii) – EJP
또한 IP는 누락 패킷을 설명하지만, 순서가 잘못된 패킷은 무엇입니까? – user1908813