connect()에서 waiting time 지정해주기

aham의 이미지

TCP/IP 프로그램을 짜는데 connect()라는 함수가
브로킹 함수처럼 동작하면서 일정 시간이 지나면 자동으로 return되더군요.

TCP ack를 기다리는 듯 한데..
이 기다리는 시간을 임의로 조정해 줄 수 있나요??
할 수 있다면 방법을 알려주시면 감사하겠습니다.

@ 아.. 그리고 이 게시판에서 검색 기능은 어떻게 사용하나요?
이건 아무리 찾아봐도 알 수가 없네요.. 그럼..

서지훈의 이미지

socket() 옵션 중 SO_SNDTIMEO || SO_RCVTIMEO 이 옵션을 참고하세요.
이게 원하는 정확한 답인지는 확실치 않지만...
이걸 참고 해보시길...

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

mach의 이미지

사용자 수준에서는 불가능합니다.

커널소스를 손대신다면 모를까.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

bugiii의 이미지

connect 는 소켓 옵션의 타임아웃과는 상관없이 커널에 설정된 값으로 동작을 합니다.

그래서 비동기 connect 기법이나 쓰레드를 이용해서 타임아웃을 구현합니다. 자세한 방법은 스티븐 아저씨 책에 나옵니다. 확인하시기 바랍니다.