본문 바로가기

서버프로그래밍7

[윈도우 네트워크] 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.
[윈도우 네트워크] IP주소 란? [TIP] IP주소 란? IP주소 란? IP 주소 (Internet Protocol Address)는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호입니다. 네트워크에 연결된 장치가 라우터든 일반 서버든 모든 기계는 이 IP번호를 가진다. 이 번호를 이용해 발신자를 대신하여 메시지가 전송되고 수신자가 있는 예정된 목적지로 전달됩니다. IP 주소를 줄여서 IP라고 부르는대 IP는 인터넷 규약 자체를 가리키는 말이기 때문에 엄밀하게는 구별해야 합니다. IP주소는 네트워크라는 세상에 사는 기계의 집주소(사용자)라 볼 수 있습니다. 1. IP 주소의 버전 IP 주소는 IPv4 와 IPv6 두 종류가 존재합니다.각각 32비트 , 128비트의 값을 사용합니다. IPv4는 8비트.. 2017. 4. 10.