반응형
서브넷에서 브로드 캐스트되는 udp
패킷을 보내는 다음 코드가 있습니다.
from socket import *
s=socket(AF_INET, SOCK_DGRAM)
s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
s.sendto('this is testing',('255.255.255.255',12345))
다음 코드는 브로드 캐스트 패킷을 수신하기위한 것입니다.
from socket import *
s=socket(AF_INET, SOCK_DGRAM)
s.bind(('172.30.102.141',12345))
m=s.recvfrom(1024)
print m[0]
문제는 브로드 캐스트 패킷을 수신하지 못한다는 것입니다. 그러나 해당 포트로 전송 된 일반 udp 패킷을 성공적으로 수신하고 있습니다.
내 컴퓨터는 분명히 브로드 캐스트 패킷을 수신하고 있었는데 netcat
을 사용하여 테스트했습니다.
$ netcat -lu -p 12345
this is testing^C
그렇다면 정확히 어디에 문제가 있습니까?
해결 방법
기본 주소에 바인딩 해보십시오.
s.bind(('',12345))
참조 페이지 https://stackoverflow.com/questions/22878625
반응형
'파이썬' 카테고리의 다른 글
파이썬 Jinja2 템플릿에 HTML 파일을 어떻게 포함하나요? (0) | 2020.12.17 |
---|---|
파이썬 Git Bash가 내 파이썬 파일을 실행하지 않습니까? (0) | 2020.12.16 |
파이썬 ImportError : 'pymongo'라는 모듈이 없습니다. (0) | 2020.12.16 |
파이썬 터미널에서 색상 인쇄 (0) | 2020.12.16 |
파이썬 트 위피 모듈에 위치 필터를 추가하는 방법 (0) | 2020.12.16 |
댓글