728x90
소켓은 다양한 방식으로 통신 하도록 설계되어 있다.
물론 데이터를 주고 받는 소켓 간의 타입은 동일해야 하고 약속된 규칙(프로토콜)로 통신한다.
프로토콜이란
- 개념적으로 약속이란 의미
- 컴퓨터 상호간의 데이터 송수신에 필요한 통신규약.
- 소켓을 생성할 때 기본적인 프로토콜을 지정해야 한다.
소켓 함수 매개변수
Protocol Family(프로토콜 체계) : PF_INET(ipv4) or somethings
type : 데이터 전송 타입 : 연결지향형(데이터 보장, 느림), 비연결지향형(데이터 보장 안 함, 빠름) or somethings
protocol
연결지향형 소켓(sock_stream) (tcp)
- 중간에 데이터 소멸되지 않음(흐름제어, 혼잡제어)
- 전송 순서 보장
- 데이터 경계 없음(write 한 만큼 read할 필요가 없다)
- 소켓 대 소켓 연결은 반드시 1대1
비연결혈지향형 소켓(sock_dgram) (udp)
- 전송순서 상관없이 빠른 속도의 전송을 지향
- 데이터 손실 및 파손의 우려
- 데이터의 경계가 존재(write한 만큼 read 해야 한다.)
- 한번에 전송할 수 있는 데이터의 크기가 제한된다.
IPv4 프로토콜에서 연결지향형 프로토콜은 tcp 밖에 없으므로 0으로 세팅해도 된다.
IPv4 프로토콜에서 비연결지향형 프로토콜은 udp 밖에 없으므로 0으로 세팅해도 된다.
-
728x90
'Network' 카테고리의 다른 글
[인강/윤성우/TCP/IP 소켓 프로그래밍] TCP기반 서버/ 클라이언트 (0) | 2022.02.25 |
---|---|
[인강/윤성우/TCP/IP 소켓 프로그래밍] 주소체계와 데이터 정렬 (0) | 2022.02.24 |
[인강/윤성우/TCP/IP 소켓 프로그래밍/정리] 윈도우 기반 소켓과 구현 (0) | 2022.02.20 |
[인강/윤성우/TCP/IP 소켓 프로그래밍/정리] 리눅스 기반 파일 조작 (0) | 2022.02.20 |
[인강/윤성우/TCP/IP 소켓 프로그래밍/정리] 네트워크 프로그래밍과 소켓에 대한 이해 1~3 (0) | 2022.02.19 |