요약
수신중인 장치에 확인 응답을 보내는 python udp 수신기에 기능을 추가하고 있습니다. 제 경우에는 장치가 localhost이지만 MT4000 원격 측정 장치가 될 것입니다.Python : recvfrom() 함수에서 수신 한 주소를 문자열로 변환하는 방법은 무엇입니까?
문제
I 데이터를 전송하는 장치로부터 데이터 및 소스 어드레스를 수신하기에 recvfrom() 함수를 사용하고있다. 반환 값은 쌍 (문자열, 주소)입니다. 여기서 string은 수신 된 데이터를 나타내는 문자열이고 address는 데이터를 보내는 소켓의 주소입니다. 이 문제는 주소에 초점을 맞추고 있습니다. 주소는이 소스 I.P이 127.0.0.1 즉 localhost를 의미 이해
('127.0.0.1', 57121)
data, addr = s.recvfrom(1024)
는 지금까지이 방법을 시도 ((socket.AF_INET, socket.SOCK_DGRAM) S = socket.socket) :
내 솔루션
코드 나 데이터를 수신 한이입니다 데이터를 백업 분할의 :
,536 :sourceIp = addr[3:-9]
을 나는이 같은 문자열을 분할해야한다는 인상이었다
sourceIp = 127.0.0.1
그것은 않습니다 그러나에만 출력이 : ()
순간 내 생각이 실제로 문자열이 아닌, 그래서 분열의 방법이 작동하지 않습니다. 다른 방법으로 나누는가, 또는 개조하는 방법이 있습니까? 감사.
똑똑하고, 내가 찾고 있던 똑똑한 대답 : D –
고맙다. 너는 나를 많이 도왔다! – frank17