파이썬 소켓을 사용하여 로깅 목적으로 서버에 연결하고 있습니다. 서버의 IP 주소는 x.x.x.x
입니다 (나는 단지 이것을 숨기고, x
은 0에서 255까지의 숫자가 될 수 있음). 내 도메인 이름은 www.example.domain.com
일 수 있습니다. 이 x.x.x.x www.example.domain.com
을 /etc/hosts
에 넣고 sudo
액세스로 작성했습니다. 그러나, 내 프로그램에서 도메인 이름을 사용하려고하면 python 소켓이 도메인 이름을 확인하지 못했습니다.왜 파이썬 소켓에서 도메인 이름을 확인할 수 없습니까?
import socket
mysocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
'''Block of code'''
mysocket.sendto('Hello!', 'www.example.domain.com')
mysocket.close()
여기에서 오류 메시지는 다음과 같습니다 나는 일반 텍스트 호스트 이름과 같은 testLogger
에 www.example.domain.com
을 변경하는 경우
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
, 파이썬 소켓 것을 확인할 수있다. 내 컴퓨터에서 도메인 이름을 ping
수 있습니다, 그래서 난 그냥 왜 파이썬 소켓이 시나리오에서 도메인 이름을 확인할 수 없는지 궁금하네요.
당신은 IP 소켓 sendto()
프리미티브 UDP 소켓을 사용하고 있습니다 :
오류가 무엇을? –
'socket.gethostbyname ('www.example.domain.com')'을 할 때 어떻게됩니까? – birryree
업데이트 된 코드에서 sendto()의 주소는 튜플이 아닌 문자열이며 포트 번호도 누락되어 있습니다. –