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(())
}