소켓 (Socket)
네트워크를 경유하는 프로세스 간 통신의 접속점으로, 소켓을 통해 클라이언트와 서버 프로그램 사이에 데이터를 송수신할 수 있다.
예를 들어 택배를 보낸다고 했을 때, 상자에 물건을 넣고 인적사항과 주소를 적어야 하는 역할이 소켓의 역할이라 할수 있다.
- 서버 소켓과 클라이언트 소켓을 만든다.(socket())
- 서버 소켓은 로컬 IP를 가지고 포트를 열고(bind()) 클라이언트 연결을 기다린다.(listen())
- 클라이언트 소켓은 IP 주소를 이용해 목적지 호스트를 찾아내고 포트를 이용해 통신 접속점을 찾아내서 연결을 만든다.(connect())
- 서버 소켓이 연결을 수락하면(accept()), 포트를 이용해 데이터를 주고 받는다. (send(), recv())
사진 출처: http://nowonbun.tistory.com/315
안드로이드에서는 소켓을 사용할 때는 반드시 스레드를 사용해야 한다.
출처: https://www.edwith.org/boostcourse-android/lecture/17088/
'Android' 카테고리의 다른 글
소켓 (Socket) - 3. 소켓 사용하기 (2) (0) | 2018.07.28 |
---|---|
소켓 (Socket) - 2. 소켓 사용하기 (1) (0) | 2018.07.25 |
AsyncTask (0) | 2018.07.25 |
스레드 (Thread) - 3. 핸들러를 이용한 스레드 구현 (2) (0) | 2018.07.24 |
스레드 (Thread) - 2. 핸들러를 이용한 스레드 구현 (1) (0) | 2018.07.24 |