본문 바로가기

윈도우 네트워크 프로그래밍5

[윈도우 네트워크] Blocking 과 Non-Blocking [Blocking / Non-Blocking] Blocking Blocking IO Model I/O 작업은 유저 레벨(User Level - Application)에서 직접 수행할 수 없다. 실제 I/O를 수행하는 것은 커널레벨(Kernel Level - OS) 이다. 따라서 유저 프로세스(또는 쓰레드)는 커널에게 I/O를 요청해야 한다. I/O 작업을 처리하기 위해 유저 레벨(User Level)에 있던 Application이 시스템 함수를 호출한다. (system call) 이 때, 컨텍스트 스위칭(Context Switching)이 발생한다. 그리고 커널 레벨(Kernel Level)에서 해당 I/O 작업이 끝나고 데이터를 반환하게 되면, 그 때가 되어서야 어플리케이션 단의 스레드(thread)에.. 2018. 1. 8.
[윈도우 네트워크] recv() : 소켓으로부터 데이터 수신 [C++] recv() 설명 recv() 함수는 소켓으로부터 데이터를 수신합니다. 헤더 #include 구조 int recv( SOCKET s, char *buf, int len, int flags) 인수 SOCKET s : 소켓 디스크립터 char* buf : 수신할 버퍼 포인터(데이터) int len : 수신할 버퍼의 길이(크기) int flags : MSG_PEEK , MSG_OOB , MSG_WAITALL 반환 -1 이외 : 실제 수신한 바이트 수 -1 : 실패 감사합니다. 공감 한번 부탁드려요. 2018. 1. 8.
[윈도우 네트워크] 라우터 란? [TIP] 라우터 란? 라우터 란? 라우터(router)는 패킷의 위치를 추출하여 그 위치에 대한 최상의 경로를 지정하며 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치이다. 공유기 = 라우터입니다. 1. 라우터의 종류 네트워크에서 쓰이는 위치나 규모에 따라 라우터의 종류가 달라질 수 있다. 다만 라우터의 기본적인 기능은 모두 같다. 이 글에는 큰 크기부터 작은 크기까지 나열되어 있다. 코어 라우터: 인터넷 서비스 제공자(ISP)의 랜이나 여러 개의 ISP 네트워크를 서로 연결한다.센터 라우터: WAN 회선을 거쳐 회사의 본점과 회사의 지점을 서로 연결한다. 또, 인터넷 서비스 제공자와 기업의 네트워크와 연결할 때에도 쓰인다.엣지 라우터: 지점, 영업소의 네트워크를 WAN 회선에 연결하여 회사.. 2017. 4. 10.
[윈도우 네트워크][TCP/IP] 소켓(Socket)이란? [TCP/IP][네트워크 프로그래밍] 소켓(Socket)이란? 소켓(Socket)의 정의 소켓(Socket)은 1982년 BSD(Berkeley Software Distribution) UNIX 4.1에서 처음 소개되었으며 현재 널리 사용되는 것은 1986년의 BSD UNIX 4.3에서 개정된 것입니다. 소켓은 소프트웨어로 작성된 추상적인 개념의 통신 접속점이라고 할 수 있는데 네트웍 응용 프로그램은 소켓을 통하여 통신망으로 데이터를 송수신하게 된다. 소켓은 응용 프로그램에서 TCP/IP를 이용하는 창구 역할을 하며 응용 프로그램과 소켓 사이의 인터페이스 역할을 하고 있습니다. 1. 소켓(Socket)이란-1 ? 두 프로그램이 네트워크를 통해 서로 통신을 수행할 수 있도록 양쪽에 생성되는 링크의 단자입니.. 2017. 3. 30.