TCP 프로토콜을 이용한 통신은 서버와 클라이언트 사이에 연결을 형성한 후에 스트림 방식으로 패킷을 송수신합니다. 스트림 방식의 통신에서는 전송한 패킷의 순서대로 도착하며 패킷 전송 중에 전송이 실패하면 다시 전송하여 신뢰성을 보장하는 방식입니다.
TCP 통신에서 서버는 대기 소켓을 생성하고 로컬 소켓 주소로 네트워크 인터페이스와 결합한 후에 백 로그 큐를 설정합니다. 이 상태에서 클라이언트 측의 연결 요청이 오면 이를 수락하여 송수신에 사용할 소켓을 만듭니다. 이 후 송수신 소켓으로 클라이언트와 패킷을 주고 받는 작업을 수행하며 더 이상 송수신할 패킷이 없으면 소켓을 닫습니다.
클라이언트 측은 소켓을 생성한 후에 로켓 소켓 주소로 네트워크 인터페이스와 결합을 선택적으로 수행할 수 있습니다. 그리고 서버의 소켓 주소로 연결 요청하여 성공하면 패킷을 송수신합니다.