TcpListener

TcpListener (TCP 소켓 서버 구조체)

연결을 수신(listening)하는 TCP 소켓 서버예요.

출처: Rust 공식 문서

본문

TcpListener를 소켓 주소에 bind하여 생성한 후, 들어오는 TCP 연결을 수신해요. 이 연결들은 accept를 호출하거나 incoming이 반환한 Incoming 반복자를 반복하여 받아들일 수 있어요. 값이 드롭되면 소켓이 닫혀요. 전송 제어 프로토콜은 IETF RFC 793에 명시돼 있어요.

pub struct TcpListener(/* private fields */);

예시

use std::net::{TcpListener, TcpStream};

fn handle_client(stream: TcpStream) {
    // ...
}

fn main() -> std::io::Result<()> {
    let listener = TcpListener::bind("127.0.0.1:80")?;

    // 연결을 받아들이고 직렬로 처리한다
    for stream in listener.incoming() {
        handle_client(stream?);
    }
    Ok(())
}

더 알아보기 (Learn more)

Rust 공식 문서