Network Socket


두 개의 시스템(또는 프로세스)이 소켓을 통해 데이터 통신을 위한 연결(Connection)을 만들기 위해서는, 연결 요청을 보내는지 또는 요청을 받아들이는지에 따라 소켓의 역할이 나뉘게 되는데, 전자에 사용되는 소켓을 클라이언트 소켓(Client Socket), 후자에 사용되는 소켓을 서버 소켓(Server Socket)
두 소켓(Socket)은 동일합니다.호출되는 API 함수의 종류와 순서들이 다를 
서버 소켓은 클라이언트 소켓의 연결 요청을 받아들이는 역할만 수행할 뿐, 직접적인 데이터 송수신은 서버 소켓의 연결 요청 수락의 결과로 만들어지는 새로운 소켓을 통해 처리됩니다.

### Client Socket


1. create
2. connect
3. send/recv
### Server Socket


4. create
5. bind
6. listen
7. accept
8. send/recv
9. close
### Create


socket()
### Kind


bsd socket
> tcp socket
> udp socket



> [소켓 프로그래밍. (Socket Programming)](https://recipes4dev.tistory.com/153)

> [What is the difference between Socket and RPC?](https://stackoverflow.com/questions/46128598/what-is-the-difference-between-socket-and-rpc)




