본문 바로가기

TCP6

[윈도우 네트워크] 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.
[윈도우 네트워크][TCP/IP] TCP/IP 프로토콜 구조 [TCP/IP][네트워크 프로그래밍] TCP/IP 프로토콜 구조 TCP/IP 프로토콜 구조 일반적으로 프로토콜은 기능별로 나누어 계층적으로 구현합니다. TCP/IP 프로토콜도 이 구조를 따릅니다. 1. 네트워크 접근 계층 네트워크 접근 계층(network access layer)은 물리적 네트워크를 통한 실제 데이터 송후신을 담당한다. [구성요소] 물리적 신호를 처리해 데이터를 송수신하는 -> 네트워크 하드웨어 , 운영체제가 제공하는 -> 장치 드라이버 두가지가 있습니다. 네트워크 접근 계층에서는 하드웨어적으로 정의된 물리 주소 (physical address)를 사용해 통신하는데, 물리 주소는 네트워크 방식에 따라 다르며 일반적으로 상호 호환되지 않습니다. 흔히 사용하는 이더넷(Ethernet)에서는 .. 2017. 4. 6.
[윈도우 네트워크][TCP/IP] TCP/IP 프로토콜이란? [TCP/IP][네트워크 프로그래밍] 윈도우 소켓 프로그래밍 배우기 TCP/IP 프로토콜이란? TCP/IP는 패킷 통신 방식의 인터넷 프로토콜인 IP (인터넷 프로토콜)와 전송 조절 프로토콜인 TCP (전송 제어 프로토콜)로 이루어져 있다. IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다.(unreliable datagram service) TCP는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다. HTTP, FTP, SMTP 등 TCP를 기반으로 한 많은 수의 애플리케이션 프로토콜들이 IP 위에서 동작하기 때문에, 묶어서 TCP/IP로 부르기도 한다. 1. TCP / IP 프로토콜 구조 인터넷을 통해 통신을 수행하는 개체는 크.. 2017. 4. 1.