[python] 브로드캐스트와 멀티캐스트

브로드캐스트 (Broadcast)

브로드캐스트는 네트워크에서 “모든” 장치에 데이터를 전송하는 방식입니다. 이는 단일 발신자가 네트워크에 연결된 모든 장치에 데이터를 전송하는 것을 의미합니다. 브로드캐스트는 네트워크 내의 모든 장치에 메시지를 발송함으로써 특정한 정보나 명령을 네트워크에 연결된 모든 장치에 전파하고자 할 때 사용됩니다.

import socket

# 브로드캐스트 주소 설정
broadcast_address = ('255.255.255.255', 12345)

# 송신자 소켓 생성
sender_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sender_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)

# 데이터 송신
message = "Broadcast message"
sender_socket.sendto(message, broadcast_address)

멀티캐스트 (Multicast)

멀티캐스트는 “특정 그룹”에만 데이터를 전송하는 방식입니다. 이는 특정한 그룹에 속한 장치들에 데이터를 전송하는 것을 의미합니다. 멀티캐스트는 그룹에 속한 장치들에 대해서만 메시지를 발송할 때 사용됩니다.

import socket

# 멀티캐스트 그룹 주소와 포트 설정
multicast_group = ('224.3.29.71', 10000)

# 멀티캐스트 송신자 소켓 생성
sender_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sender_socket.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 2)

# 데이터 멀티캐스트
message = "Multicast message"
sender_socket.sendto(message, multicast_group)

브로드캐스트와 멀티캐스트는 네트워크 통신에서 데이터를 효율적으로 전송하는 데 사용되는 중요한 기술입니다. 올바른 상황에 맞게 적절히 사용하여 네트워크 성능을 최적화할 수 있습니다.