참고

네이버, 카카오 Java 소켓 (성능 하, 구현 상) go 소켓 golang (google) (중간)

게임 (성능 상, 구현 하)

C / C++ 소켓

개요

소켓은 두 호스트 사이의 TCP, UDP 통신에 해당하는 운영체제 수준의 자원이다.

소켓으로 할 수 있는 작업은 다음과 같다.

  1. 호스트에 연결하기

  2. 데이터 보내기

  3. 데이터 받기

  4. 연결을 끊기

  5. 특정 포트를 차지하고(binding) 그 포트에 도착하는 연결 신호를 기다리고(listening) 연결 신호가 도착하여 연결을 수락(accept)

1~4번 작업은 클라와 서버 모두 필요한 작업이다.

소켓 클래스에서 메소드를 제공한다.

5번의 작업은 서버에게만 필요한 작업이다

클라이언트 소켓 사용은 다음과 같다.

  1. Socket 객체 생성