2012-06-28 1 views
1

소켓에서 닫기 대신 셧다운을 사용하면 소켓에서 연결을 한 번 더 할 수 있습니까?소켓을 다시 사용할 때 닫기 대신 셧다운 사용

s = socket(...); 

for(;;) 

{ 

    connect(s,...); 

    //do some work 

    shutdown (s, 2); 

} 

나는 그것을 테스트하고 errno 22를 얻고있다.

응용 프로그램이 루프를 빠르게 수행하고 내 소켓이 자원을 많이 보유하는 TIME_WAIT 상태로 끝나기 때문에이 방법을 사용하고 싶습니다. 난 아직도 TIME_WAIT 상태에 결국 SO_REUSEADDR하지만 내 소켓을 시도

..

Runnig 대신 소켓에 가까운 종료를 사용하여 5.5.1

+0

+1 흥미로운 질문입니다. 서로 다른 운영 체제에서 이러한 동작의 이상한 차이를 보았으므로 일관된 '모든 곳에서 작동하는'대답이 우수 할 것입니다. –

답변

0

Vx 웍스 그 다음에 더 연결할 수 있습니다 한 번 소켓에?

아니요. 일단 연결 한 TCP 소켓은 다시 연결할 수 없습니다.

+0

고맙습니다. – TomCam