728x90 반응형 리눅스 시스템 및 네트워크 프로그래밍/네트워크 프로그래밍3 논블로킹 소켓과 멀티플렉싱: select, poll, epoll 비교 네트워크 프로그래밍에서 다수의 클라이언트를 효율적으로 처리하는 것은 매우 중요한 과제입니다. 기본적인 블로킹(Blocking) 방식은 클라이언트의 요청을 처리하는 동안 다른 클라이언트의 요청을 받을 수 없다는 단점이 있습니다. 이를 해결하기 위해 논블로킹(Non-blocking) 소켓과 멀티플렉싱(Multiplexing) 기법이 사용됩니다.이번 글에서는 논블로킹 소켓의 개념을 이해하고, 이를 활용한 멀티플렉싱 기법인 select(), poll(), epoll()의 차이점을 비교하며, 각 기법을 적용한 코드 예제를 소개하겠습니다.1. 블로킹과 논블로킹 소켓이란?1.1 블로킹 소켓(Blocking Socket)기본적으로 소켓은 블로킹(Blocking) 방식으로 동작합니다. 즉, recv(), send(), .. 리눅스 시스템 및 네트워크 프로그래밍/네트워크 프로그래밍 2025. 2. 2. UDP 소켓 프로그래밍 기초: 서버와 클라이언트 구현하기 2025.02.01 - [네트워크 프로그래밍] - TCP 소켓 프로그래밍 기초: 서버와 클라이언트 구현하기 TCP 소켓 프로그래밍 기초: 서버와 클라이언트 구현하기네트워크 프로그래밍에서 가장 기본적인 개념 중 하나는 TCP 소켓 프로그래밍입니다. TCP는 신뢰성 있는 데이터 전송을 보장하는 연결 지향 프로토콜로, 서버와 클라이언트 간의 안정적인 통신을roblogs.tistory.com TCP 소켓 프로그래밍에 이어 이번 글에서는 UDP(User Datagram Protocol) 소켓 프로그래밍에 대해 다룹니다. UDP는 TCP와 달리 연결을 설정하지 않고 데이터를 빠르게 전송하는 특징이 있습니다. 이를 통해 실시간 데이터 전송이나 경량 네트워크 애플리케이션에 적합한 프로토콜입니다. 본 글에서는 UDP 소.. 리눅스 시스템 및 네트워크 프로그래밍/네트워크 프로그래밍 2025. 2. 2. TCP 소켓 프로그래밍 기초: 서버와 클라이언트 구현하기 네트워크 프로그래밍에서 가장 기본적인 개념 중 하나는 TCP 소켓 프로그래밍입니다. TCP는 신뢰성 있는 데이터 전송을 보장하는 연결 지향 프로토콜로, 서버와 클라이언트 간의 안정적인 통신을 가능하게 합니다. 이번 글에서는 TCP 소켓의 개념을 설명하고, C 언어를 이용해 간단한 서버와 클라이언트를 구현하는 방법을 소개합니다.1. TCP 소켓이란?TCP(Transmission Control Protocol)는 데이터의 순서와 무결성을 보장하는 프로토콜입니다. 이를 구현하기 위해 운영체제는 소켓(Socket)이라는 개념을 제공합니다. 소켓은 네트워크를 통해 데이터를 송수신하는 엔드포인트 역할을 하며, 두 개의 소켓이 연결되면 데이터를 주고받을 수 있습니다.2. TCP 서버와 클라이언트의 동작 방식TCP 기.. 리눅스 시스템 및 네트워크 프로그래밍/네트워크 프로그래밍 2025. 2. 1. 이전 1 다음 💲 추천 글 728x90 반응형