본문 바로가기

전체보기141

동아리 입문자 대상 학습방법에 관한 세미나 발표 자료는 여기에 있습니다. 주로 개인적인 경험을 바탕으로 이야기 한 것이라, 개개인의 성향에 따라 다를 수 있으니 의견이 다르다면 본인에게 걸맞는 학습 전략을 구성하시는 것이 좋을 것이라고 생각합니다. 도움이 필요하거나 궁금하신 점이 있으시면 카카오톡으로 문의해주세요 추가자료 window 10 shortcut Reference windows 10 shortcut : https://www.docdroid.net/fUXoZzP/windows-10-pdf 2020. 6. 29.
[Network Basic] 3. TCP Connection Multiplexing TCP connection 소켓 API는 기본적으로 blocking이라, accept() 하면 일단 block되고 본다. recv()로 data를 받을 때도 물론. 사용자가 1명이면 Blocking I/O가 문제가 되진 않겠지만, 실제로는 그럴리가 없다. 여러 connection을 동시에 다루는 기술이 필요하다. Polling Non-blocking Sockets 소켓 자체가 non-blocking operation을 할수 있게 하는 방법 중 fcntl 함수를 호출하는 것인데, 단순히 모든 active socket을 순서대로 확인하는 polling 구조로 되어있어 자원 낭비가 심하며, 구현해야 할게 추가적으로 발생한다. 그래서 일반적으로 Polling 방식을 잘 쓰지 않는다. Fo.. 2020. 6. 11.
[Network exercise] 2. TCP 소켓을 이용하여 HTTP 서버 만들기 TCP 소켓을 이용하여 서버의 현재 시간을 알려주는 HTTP 서버를 만들어보자. 우선 만든 결과 프로그램은 다음과 같다. #if defined(_WIN32) // windows #ifndef _WIN32_WINNT #define _WIN32_WINNT 0x0600 #endif #include #include #pragma comment(lib, "ws2_32.lib") #else // linux #include #include #include #include #include #include #include #endif #if defined(_WIN32) #define ISVALIDSOCKET(s) ((s) != INVALID_SOCKET) #define CLOSESOCKET(s) closesocket(s.. 2020. 5. 27.
[Network Basic] 2. Socket Socket 소켓은 communication link의 endpoint이고, 어플리케이션은 소켓을 통해 모든 네트워크 정보를 전송한다. Unix 계열에선 POSIX 소켓을 주로 사용한다. Unix Socket, BSD Socket, POSIX Socket은 같은 것을 의미한다. 윈도우 소켓 API는 Winsock 으로 불린다. Berkeley socket에 compatible 하도록 구성되어있다. 소켓은 두가지 타입으로 분류된다. - Connection-oriented - Connectless Connectionless라는게 실제로 Connection이 존재하지 않는 상태에서 데이터를 전송한다는 의미는 아니다. 요즘 시대에 자주 쓰이는 프로토콜은 두가지이다 - TCP -> Connection-orient.. 2020. 5. 27.