-
뇌자극 TCP/IP 9강 요약C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 5. 29. 21:52
UDP 복습
연결 지향 : Threeway handshake
흐름 기반
신뢰성 : 재 전송, 재 조합
단점 : 낮은 성능, 데이터의 연속성 유지에 불리하다.
스트리밍 방송은 사용 (어느 정도의 잡음이 있어도 괜찮다)
신뢰성이 꼭 필요하면, TCP를 사용해야 하지만 그렇지 않다면 무 필요.=> UDPUser DataGram Protocol (UDP)DataGram 중심 프로토콜Fire and Forget순서가 없다신뢰할 수 없다.높은 성능을 기대=> 실시간 스트리밍 방송에 사용 가능UDP 헤더는 4개의 필드로 구성되며, 그 각각은 2바이트(16비트)로 이루어져 있다.[1]
오프셋 옥텟 0 1 2 3 옥텟 비트
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0 0
출발지 포트 도착지 포트 4 32
길이 체크섬 socket(AF_INET, SOCK_DGRAM, 0)Serversocket() -> bind ->( sendto, recefrom) -> close (listen(), accept() 사용 x)UDP bindserveraddr.sin_family = AF_INET;serveraddr.sin_addr.s_addr = htonl(INADDR_ANY);serveraddr.sin_port = htons(1234);state = bind(sockfd, (struct sockaddr *) &serveraddr, sizeof(serveraddr));recvfrom(sockfd, buf, MAXLINE, 0, (struct sockaddr *) &cliaddr, &clilen);recvfrom(sockfd, buf, MAXLINE, 0, (struct sockaddr *)&cliaddr &clilen);sendto(sockfd, buf, strlen(buf), 0, (struct sockaddr *)&cliaddr, sizeof(cliaddr));close(sockfd);=> 연결 관리가 불 필요하기 때문에 간단하다.Clientscoket() -> sendto(), recvfrom() -> close();connect를 사용하지 않아도 되지만 사용해도 된다.connet(sockfd, &addr, sizeof(addr));sendto(sockfd, buf, strlen(buf, 0, NULL, len); // NULL을 사용하면 이미 명시된 주소에 연결된다.※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다
반응형'C_C++ 프로그래밍 > 뇌를 자극하는 TCP_IP' 카테고리의 다른 글
뇌자극 TCP/IP 11강 요약 (0) 2019.06.02 뇌자극 TCP/IP 10강 요약 (0) 2019.06.02 뇌자극 TCP/IP 8강 요약 (0) 2019.05.26 뇌자극 TCP/IP 7장 요약 (0) 2019.05.25