python2.X (Linux (++) 및 Windows (+)) 주소 및 수신 대기하기 위해 Python 클라이언트를 만들려고합니다. 메시지는 특정 주소 및 특정 포트의 응용 프로그램에서 보내지 만 작성 방법을 모르겠습니다. 나는 그것이 기능적이며 UDP 프로토 콜을 사용하고 있음을 확신한다.PYTHON - 서버를 모른 채 UDP 수신
그래서, 메시지 수신이 코드를 작성했습니다 :이 시점에서
import socket
#---socket creation
connexion = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#---Bind
try:
connexion.bind(('', 10015))
except socket.error:
print "connexion failed"
connexion.close()
sys.exit()
#---testing
while 1:
data, addr = connexion.recvfrom(1024)
print "messages : ", data
를, 거기 실행 오류 없지만, 코드는이 선에서 정지 :
data, addr = connexion.recvfrom(1024)
아무 일도 일어나지 않는다. 나는 연결되어 있지 않고 메시지를받을 수 없다고 생각하지만 왜 그런지 모르겠다. 주소를 '192.168.X.X'로 변경하려고했으나 동일합니다.
누구든지 나를 도울 수 있다면, 좋을 것입니다. 나는 왜 python이 ... 매우 편안하지 않다. 추신 : 죄송합니다. 내 영어.
그 줄에서 멈추지 않습니다. 크기가 1024 인 버퍼가 채워지기를 기다리고 있습니다. 버퍼가 가득 차면 리턴됩니다. 보낸 사람이 보내고 버퍼 크기를 줄이려고 시도하십시오. – Akilesh
당신이 틀렸다고 생각합니다. recvfrom은 1024 바이트가 아니라 패킷을 기다립니다. 패킷이 작 으면 패킷의 데이터와 함께 반환됩니다. –
python 설명서에서 Buff Size (1024)는 한 번에받을 수있는 데이터의 최대량이므로 Steffen Ullrich와 같은 생각이었습니다. – tutur29