표준 라이브러리 모듈 소켓의 구현입니다.
먼저 사용되는 이름을 소개 :
- AF_INET : IPv4의
- SOCK_DGRAM : UDP
- SOL_SOCKET : 유니버설 소켓 옵션
- SO_BROADCAST : 广播
서버 측 :
import socket
import time
PORT = 6000
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
while True:
time.sleep(1)
s.sendto(b'Hello!', ('<broadcast>', PORT))
클라이언트 :
import socket
PORT = 6000
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((socket.gethostname(), PORT))
while True:
data, address = s.recvfrom(1024)
print(data.decode())
설명 :
서버 코드 구현은 UDP에 의해 위의 전송은 방송 Hello!
클라이언트에 정보를 표시합니다.
방송 서버가 방송 기능을 여는 코드를 추가하고, 어드레스 정보 세트를 전송을 위해 주로, 종래의 UDP 전송과 비교 <broadcast>
.