Hello
, Socket!
Echo Server Data Path
에코 서버는 수신 버퍼에서 읽고 송신 버퍼로 다시 쓴다
소켓 코드는 단순해 보여도, 실제 데이터는 커널 버퍼를 거치며 TCP는 메시지 경계가 없는 바이트 스트림으로 동작한다.
recv는 현재 받을 수 있는 바이트를 최대 bufsize만큼
가져온다.
send는 일부만 보낼 수 있으므로 반복 전송이 필요하다.
프로토콜에는 길이 prefix나 구분자 같은 framing이 필요하다.
C
Client
sendall(b"Hello, Socket!")
S
Server
recv(1024), send_all(...)