connect() 함수

cnovice의 이미지

소켓 connect 함수에서

일정 시간이 지나면 바로 return 시킬 수 있는 옵션이나 방법이 있는지

궁금 합니다.

디폴트가 30초루 알고 있는데 이 값을 변경 시킬 수 있는지도 궁금 합니다

byung82의 이미지

옵션은 모르겠고요..

FD_CONNECT로 select로 잡아 줘서 timeout 해주는건 어떨까요 ~

그럼

mach의 이미지

non-blocking connect를 사용하시기 바랍니다.
스티븐스 책에 나옵니다. 공부도 해보시고. 소스도 해당 책에 있습니다.

* 3 way handshaking때문에 connect는 블럭됩니다. 즉, 원격지가 응답을
해줘야 일(?)이 진행되지요. 그래서 원격지와의 회선상태등에 따라
block될 수 있습니다.(회선의 응답시간이라고도 봐야겠지요?)
이 경우 non-blocking connect를 시도하여 이를 회피할 수 있습니다. 보다,
섬세한 처리를 수행할 수 있다는 말입니다.

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