내 응용 프로그램은 UDP의 멀티 캐스트 기능을 사용합니다.멀티 캐스트 데이터 오버 헤드?
즉, 자바를 사용하고 있으며 단일 멀티 캐스트 주소와 포트를 사용하여 모든 데이터를 전송하려고합니다. 멀티 캐스트 리스너는 논리적으로 런타임에 변경 될 수있는 서브 그룹으로 나뉘어 지지만 그룹 외부에서 오는 데이터는 처리하지 않을 수도 있습니다.
실행되도록 모든 실행중인 응용 프로그램 인스턴스가 동일한 멀티 캐스트 그룹 및 포트에 참가할 수 있도록 코드를 만들었지 만 패킷의 보낸 사람을주의 깊게 관찰하여 자신의 하위 그룹에 속하는지 확인합니다.
내 응용 프로그램의 최소 패킷 크기는 30000-60000 바이트입니다 !!!!!
MulticastSocket.receive (DatagramPacket)를 사용하여 모든 패킷을 읽고 해당 패킷이 너무 많은 오버 헤드 (심지어 버퍼 오버플로)를 일으키는 지 확인합니다.
모든 패킷이 모든 사람에게 전송되므로 네트워크에서 정체가 발생하는 대량의 트래픽이 생성됩니까?
이렇게 큰 패킷을 사용하면 네트워크 장치/어댑터의 버퍼 크기를 훨씬 초과 할 수 있습니다. 많은 사람들은 연결 당 단지 몇 MB 밖에 가지지 않으며 시스템의 다른 트래픽과 함께, 당신은 버퍼 오버 플로우를 자주 일으킬 수 있습니다. 나는 당신이 합리적으로 높은 드롭 아웃 비율을 처리하기 위해 응용 프로그램을 작성하는 것이 좋습니다. –
다른 옵션은이 패킷을 더 작은 패킷으로 분할하여 전송하고 수신기에서 재구성하는 것입니다. –