본문 바로가기

TCP/IP

(3)
TCP/IP 동기통신(boost, winsock 버젼) 동기(sync)통신이라하면, Server와 Client간에 데이터의 송수신이 악수와 같이, 테니스 코트에서 공을 주고 받는 것과 같이 서버는 클라이언트가 요청하면 보내고, 클라이언트는 서버가 보내줄때까지 커넥션 상태를 holding하고, 다른 데이터로부터의 수신을 blocking한다. 통신 상태에 따라 bottleneck으로 작용하거나 비효율적인 부분이 있지만, 동기를 맞춰야 하는 네트워크 시스템에서는 반드시 필요할 것이다. boost의 ASIO로 코드를 만들어뒀다가, 문제가 생겨서 winsock으로 다시 만들었다. 보통 window상에서 visual studio 2012를 사용하는데, 사용하는 boost 1.51버젼이 아직 visual studio 2012에 잘 붙지 않는다. visual studio ..
TCP/IP 소켓 프로그래밍 for windows 1. 윈속(winsock)을 위한 헤더 및 라이브러리 설정 (1) winsock2.h 헤더파일을 포함시킨다 (2) ws2_32.lib 라이브러리를 링크시킨다. (3) winsock 사용을 위한 라이브러리 초기화 및 해제 2. winsock관련 라이브러리 초기화 함수 #include int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData) - 첫번째 인자 : 0x0403(version 3.4일 경우) 또는 MAKEWORD(BYTE bLow, BYTE bHigh)로 사용가능함. - 두번째 인자 : WSADATA 구조체의 포인터 int WSACleanup(void) 프리렉에서 무료로 강좌를 하고 있네요. http://freelec.co.kr/online/lec..
LAN을 위한 소켓 프로그래밍 #1 LAN을 위한 소켓 프로그래밍 LAN에 연결된 서로 다른 컴퓨터에서 데이터를 전송하고 데이터를 받는 소켓 프로그램을 구현해 보겠습니다. WIN32를 이용하여 소켓 프로그램을 만들 때는 다소 복잡하던 것이 MFC의 CAsyncSocket이 만들어짐으로써 매우 간단하게 구현할 수 있게 되었습니다. 윈도우에서 네트워킹을 할 수 있도록 하는 방법 중에 소켓이 가장 많이 활성화되어 있는 방법입니다. 이 방법을 익히고 나서 그 외 통신 프로토콜에 대하여 공부하면 많은 도움이 될 것 같습니다. 1.소켓 소켓(Socket)으로 데이터를 전송하고 데이터를 받는 데는 2가지 방법이 있습니다. Stream Socket 방법과 Datagram Socket 방법입니다. Stream Socket 연결 방법은 서버가 실행되면서 클..