블로그는 나의 힘!
[ Programing ]/Server2013. 10. 25. 11:53

 

윈도우 소켓 사용시 WSAStartup() 함수를 호출해야 winsock.dll을 이용 가능하다.

 

사용시 유의점은 WSAStartup() 함수와 반드시 WSACleanup() 함수를 맞춰줘야 한다는 점이다.
예를 들어 WSAStartup()을 여러번 호출한다면 WSACleanup()도 여러번 호출하여야 한다.

 

 

 

An application must call the WSACleanup function for every successful time the WSAStartup function is called.

This means, for example, that if an application calls WSAStartup three times, it must call WSACleanup three times.

The first two calls to WSACleanup do nothing except decrement an internal counter; the final WSACleanup call for the task does all necessary resource deallocation for the task.

 

msdn 첫 문장 부터 어플리케이션은 wsastartup이 호출되어서 성공한 횟수만큼 wsacleanup이 호출되어야 한다. 라고 명시.

 

 

 

 

하지만, 잘 생각해 보면 WSAStartup()은 생성시 한번 호출하고, 해제시 한번 해제 하면 된다.

 

단지 windock.dll을 사용하겠다고 할당과 관련된 내용이므로
지속적이고 개수를 알수 없는대로 할당할때와는 따로 독립적으로 만들어야 한다.
(그러니까 발코딩 하지 말라고.)

 

 

 

 

참조 : msdn.microsoft.com/en-us/library/windows/desktop/ms742213%28v=vs.85%29.aspx

 

Posted by Mister_Q