[C/C++] 소켓 프로그래밍 오류
윤성우의 열혈 TCP/IP 소켓 프로그래밍 책을 보고 소켓 통신을 실습할 때 코드를 그대로 쓰면 실행이 잘 안된다. 실행하며 나온 오류를 잡아봤다.
환경 : Window10, visual studio 2015
LNK2019 에러
소스코드를 그대로 복붙하고 빌드하면 LNK2019에러가 나온다.
#pragma comment(lib, "ws2_32.lib")
를 추가하면 빌드가 잘 되고 실행된다.
클라이언트 연결도 안했는데 Accept 처리
C++로 혼합개발할 경우 발생했던 문제이다. 원인은 #include<funtional>
을 포함하고 using namespace std
를 썼을 때 생긴다. std::bind
와 WinSock2의 bind의 이름 충돌로 발생한다. using namespace std 사용의 위험성을 링크에 정리했다.