바코94
2019. 8. 4. 18:57
데이터 송수신을 위해 운영체제가 제공해주는 소프트웨어 모듈.
복잡한 내부 구현과 물리적인 기능을 다 구현해 놓은 형태이기 때문에 사용하기 용이하다.
소켓 = 전화기 라고 이해하면된다.
서버측 소켓은 socket() -> bind() -> listen() -> accept() 순으로 실행되며
클라이언트측 소켓은 socket() -> connect() 순으로 실행
서버측 소켓은
1. 전화기를 구입한다 ( socket() -> 소켓을 만든다.)
2. 전화기 번호를 부여받는다 (bind() -> 소켓에 IP주소와 PORT번호를 할당한다.)
3. 전화선을 연결한다. ( listen() -> 클라이언트 측 요청을 받을 수 있는 상태로 만든다.)
4. 전화 받을 준비를 하다가 받는다. ( accept() -> 데이터 요청을 받는다.)
5. 전화 통화를 한다. ( 데이터 송수신을 자유롭게 한다.)
클라이언트측 소켓은 자동화가 되있어 서버측 소켓보다 간단하다.
자동화의 내용은 이후 학습한다.
1. socket()
2. connect()
3. 데이터 송수신.