오래 못 할 짓 하지 않기
[ 네트워크 ] 16. Socket Programming 1 본문
728x90
세세한 함수를 쓰기엔 너무 많아서 함수 설명은 빼고
어떤 흐름으로 돌아가는지만 파악해보자.

TCP / UDP가 Port를 통해 Socket을 통해 APP과 연결이 되고
Socket ↔️ socket descriptor 가 소통하며 Application 에 데이터들이 들어간다.

소켓과 관련해서는 5가지 정보가 필요하다.
- Port - Socket()에 쓰임
- Src addr - bind()
- Src port - bind()
- Dest addr - connect()
- Dest port - sendto()
연결 형태는 아래와 같다.

1. 양쪽 모두 Socket을 만든다. ➡️ sd 생성
2. [ Server ] Port와 sd를 통해 Bind를 한다.
3. [ Server ] Bind된 정보까지 모아서 Listen()으로 연결되는 Client가 있는지 대기한다.
4. [ Client ] Server의 IP와 Port 번호를 가지고 Connect 요청을 보낸다.
5. [ Server ] Client가 보낸 Connect요청을 Accept 한다.
6. [ Server , Client ] 만들어진 sd를 통해 정보를 주고 받는다.
* 주고 받을 때 보내는 타입 , 크기 가 같아야 함.
ex) A 구조체로 100크기만큼 보냈으면, 받는 곳에서도 A구조체로 100크기만큼 가져와야함
7. [ Server , Client ] 연결 종료


(출처)
한동대학교 고윤민교수님 - 컴퓨터 네트워크
'3학년 2학기 > 네트워크 (Network)' 카테고리의 다른 글
[ 네트워크 ] 중간 2 준비 ( Socket Programming ) (0) | 2024.11.10 |
---|---|
[ 네트워크 ] 16. Network layer : Data Plane (0) | 2024.11.07 |
[ 네트워크 ] 15. Transport layer : TCP ( Congestion Control ) (0) | 2024.10.21 |
[ 네트워크 ] 14. Transport layer : TCP ( flow control / connection control management ) (0) | 2024.10.19 |
[ 네트워크 ] 13. Transport layer : TCP (0) | 2024.10.14 |