winsock에서 비동기 주소 확인을 살펴보면 두 가지 옵션 중 하나만 별도의 스레드에서 gethostbyname
블록을 사용하거나 WSAAsyncGetHostByName
을 사용하는 것으로 보입니다. 후자는 어떤 이유로 오버랩 된 작업 및 완료 포트/루틴 대신 창 메시지로 작업하도록 설계되었습니다.winsock의 비동기 주소 확인?
나머지 winsock API와 비슷한 방식으로 중복 된 작업과 비동기 적으로 작동하는 gethostbyname
버전이 있습니까?
"어떤 이유로" 그런 식으로 설계된 것은 Winsock이 스레드 나 콘솔 모드 프로그램이없는 Win16 세계에서 만들어 졌다는 것입니다 (도스 프로그램이 있었지만 Winsock에 액세스 할 수는 없었습니다.) 모든 Windows 프로그램에는 GUI가있었습니다 , 또는 최소한 메시지 루프를 사용하여 OS가 프로그램에 문제를 말한 것입니다. 완료된 이름 조회 알림 이 메커니즘은 그 세계에서 의미가 있습니다. –