การส่งข้อมูลแบบ Multicast คือ การส่งข้อมูลไปยังจุดหมายปลายทางหลาย ๆ เครื่องภายในครั้งเดียว
เป้าหมายที่ส่งไปไม่ใช้เครื่องใดเครืองหนึ่ง ดังนั้น การส่งข้อมูลแบบ Multicast จะต้องส่งโดยใช้ Multicast
Address ซึ่งเป็น IP Address ที่อยู่ในคลาส D นั้นเอง ( 244.0.0.0 – 239.555.555.555)
เครื่องที่จะส่งหรือรับข้อมูลได้นั้นจะต้องเป็นสมาชิกอยู่ใน Multicast Group เท่านั้น
การทำางานใน Multicast Group มี 4 อย่าง คือ
1. Join a multicast group.
2. Send data to the members of the group.
3. Receive data from the group.
4. Leave the multicast group.
ในภาษา Java สามารถใช้คลาส MulticastSocket เพื่อทำาการรับและส่งข้อมูลแบบ Multicast
ตัวอย่างต่อไปนี้ ประกอบด้วยการทำางานของ 2 คลาส คือ
1. คลาส MulticastSender ทำาหน้าที่ ส่งข้อมูลไปยังทุกเครื่องที่อยู่ใน Multicast Group
2. คลาส MulticastSniffer ทำาหน้าที่ รับข้อมูล จาก MulticastSender
วิธีรันโปรแกรม
1. รัน MulticastSniffer ก่อน เพื่อรอรับข้อมูล
java MulticastSniffer MULTICAST_ADDRESS PORT
$ java MulticastSniffer 244.0.0.0 5555
2. รัน MulticastSender เพื่อส่งข้อมูล
java MulticastSender MULTICAST_ADDRESS PORT [TTL]
$ java MulticastSender 244.0.0.0 5555
$ java MulticastSender 244.0.0.0 5555 1
ผลลัพท์จะเกิดขึ้นที่ฝั่งรับ คือ
$ java MulticastSniffer 224.0.0.0 5555
Here's some multicast data
Here's some multicast data
Here's some multicast data
Here's some multicast data
Here's some multicast data
Here's some multicast data
Here's some multicast data
Here's some multicast data
Here's some multicast data
หมายเหตุ
TTL = Time-To-Live (หาความหมายใน wikipedia)
อ้างอิง
Java Network Programming 2nd Edition (Elliotte Rusty Harold) O'RELLY

ex code
**Hidden Content: To see this hidden content your post count must be 5 or greater.**