socket.getaddrinfo()
을 사용하여 도메인 이름을 확인하는 중입니다. 내가 전달하는 경우 :
host = 'www.google.com', port = 80, family = socket.AF_INET, type = 0, proto = 0, flags = 0
SOCK_STREAM을 사용하여 Python에서 예상치 못한 socket.getaddrinfo 동작이 발생했습니다.
난 당신이 기대하는 것 같은 소켓 정보를 정기적으로 한 쌍의 SocketKind.SOCK_DGRAM 하나 (UDP에 대한) 및 및 SocketKind.SOCK_STREAM (TCP)와 다른를 얻을.
proto를
socket.IPPROTO_TCP
으로 설정할 때 예상대로 TCP로만 범위를 좁 힙니다.그러나
proto = socket.SOCK_STREAM
(작동하지 않아야 함)을 사용하면 SocketKind.SOCK_RAW가 반환됩니다.또한 파이썬에서는
proto = socket.IPPROTO_RAW
을 사용할 수 없습니다. '잘못된 힌트'가 나타납니다.
여기에 무슨 일이 일어나고 있는지에 대한 의견이 있으십니까?