java multicast 예제

Java는 MulticastSocket 클래스를 사용하여 UDP 멀티캐스트 소켓을 만들어 멀티캐스트 IP 주소로 전송된 데이터그램 패킷을 수신합니다. 이 예제는 이전 예제의 세 가지 클래스를 수정한 세 가지 클래스(멀티캐스트 서버, MulticastServerThread 및 MulticastClient)로 구성됩니다. 이 토론에서는 이러한 클래스의 흥미로운 부분을 강조합니다. 이것은 자바에서 멀티 캐스트 소켓 사용의 예입니다. IPv6에서 주소의 왼쪽 비트는 해당 형식을 결정하는 데 사용됩니다. 멀티캐스트 주소의 경우 처음 8비트는 모두 FF00::/8입니다. 또한 비트 113-116은 주소의 범위를 나타내며, 이 범위는 전역, 사이트 로컬, 링크 로컬, 노드 로컬 중 하나일 수 있습니다. 이 문서에서는 UDP 프로토콜을 사용하여 일대다 통신 유형의 개념을 살펴봤습니다. 우리는 자바에서 이러한 개념을 구현하는 방법의 예를 보았다. 멀티캐스트 IP 주소는 데이터그램 패킷의 원본 주소로 사용할 수 없습니다. Java에서 MulticastSocket은 멀티캐스트 IP로 전송된 패킷을 수신하는 데 사용됩니다.

다음 예제에서는 MulticastSocket의 사용을 보여 줍니다: IPv4 프로토콜에 따라 브로드캐스트 주소는 네트워크에 연결된 장치가 패킷을 수신하도록 설정된 논리적 주소입니다. 이 예제에서는 로컬 네트워크의 브로드캐스트 주소인 특정 IP 주소 인 255.255.255.255를 사용합니다. ”멀티캐스트”라는 단어는 일반적으로 멀티캐스트 주소를 사용하여 TCP/IP 네트워크에서 동시에 여러 수신기로 효율적으로 전송하기 위한 프로토콜인 IP 멀티캐스트를 참조하는 데 사용됩니다. IPv4는 유니캐스트, 브로드캐스트 및 멀티캐스트의 세 가지 유형의 주소 지정을 지원합니다. 방송은 이론적으로 일대전자 통신, 즉 디바이스에서 전송되는 패킷이 전체 인터넷에 도달할 가능성이 있다. 이 클래스는 멀티캐스트 IP 패킷을 송수신하는 데 사용됩니다. DatagramSocket 클래스를 확장 하 고 그룹 조인에 대 한 추가 기능을 제공 합니다. 그룹에 가입한 모든 클라이언트가 그룹 IP 주소로 보낸 메시지를 수신합니다. 이 그룹에 패킷을 보낼 때 datagram 소켓그룹에 가입할 필요는 없지만 그룹에 주소가 지정된 패킷을 수신하려면 그룹에 가입해야 합니다. 이 클래스는 ttl 설정, 사용할 네트워크 인터페이스 등과 같은 멀티캐스트 패킷의 흐름을 제어하는 다양한 방법과 그룹 가입 및 퇴출의 주요 기능을 제공합니다.

IPv6에서는 멀티캐스트 지원이 필수로 이루어졌으며 방송에 대한 명시적인 개념은 없습니다. 이제 모든 브로드캐스트 기능을 일종의 멀티캐스팅으로 구현할 수 있도록 멀티캐스트가 확장되고 개선되었습니다. 데이터그램 네트워크에서 멀티캐스트는 데이터 패킷을 다중 대상으로 전송합니다. 멀티캐스트의 장점은 공통 주소를 공유하는 호스트 그룹에 데이터를 보낼 수 있다는 것입니다. Multicast를 사용하지 않는 경우 각 호스트에 대해 데이터 패킷을 하나씩 보내야 합니다. 수신 측에서 브로드캐스트된 메시지를 수신하는 데 필요한 특별한 코드는 없습니다. 일반 UDP 데이터그램을 수신하는 동일한 코드를 다시 사용할 수 있습니다. Java의 UDP 가이드에는 이 주제에 대한 자세한 내용이 포함되어 있습니다.

Det här inlägget postades i Okategoriserade. Bokmärk permalänken.