c언어 udp 예제

이 예제에서는 클라이언트와 연결한 후 서버는 클라이언트의 메시지를 기다립니다. 메시지 서버를 받은 후 수신 된 메시지를 확인 하 고 받은 된 메시지에 따라 적절 한 응답을 보냅니다. 표 2 예제에서는 계층 2(데이터 링크) 정보(소스 및 다음 홉 MAC 주소)를 포함한 모든 값을 입력합니다. 이렇게하려면, 우리는 우리가 에서 패킷을 보내는 네트워크 인터페이스 (“네트워크 카드”)의 MAC 주소뿐만 아니라 프레임이 다음 (자세한 설명)로 라우팅 됩니다 라우터 / 호스트의 MAC 주소를 알고 있어야합니다. 함수 전송은 단순히 데이터를 전송합니다. 소켓 설명자, 보낼 데이터 및 크기가 필요합니다. 다음은 google.com ip에 일부 데이터를 전송하는 매우 간단한 예입니다 : 표 3의 IPv4 예에서와 같이, 아래 표 10에서 우리는 모든 값을 기입하지만, 단지 대상 (즉, 다음 홉) 계층 2 (데이터 링크) 정보가 아닌 소스 MAC 주소. 이를 “조리된 패킷”이라고 합니다. 위의 표 9에서와 같이, 우리는 프레임이 다음 (자세한 설명)로 라우팅됩니다 라우터 / 호스트의 MAC 주소를 알고 있어야합니다. 표 16은 홉별 확장 헤더를 사용하여 TCP 패킷을 보내고, ESP(보안 페이로드) 확장 헤더를 캡슐화하고, 조각화를 필요로 하는 충분한 TCP 데이터를 제공합니다. 홉별 헤더는 표 15와 동일합니다. ESP 헤더의 인증 데이터 부분은 표 15에 사용된 인증 데이터와 동일합니다.

인증 헤더와 마찬가지로 ESP 헤더는 전송 또는 터널 모드에서 사용할 수 있으므로 각각의 예제가 제공됩니다. 클라이언트 프로그램을 시작하기 전에 먼저 서버 프로그램이 서버 컴퓨터에서 실행되고 있는지 확인합니다. 클라이언트 프로그램의 구문은 timecli server_address 포트 [client_address]입니다. server_address는 서버 컴퓨터가 실행 중인 xxx.xxx.xxx.xxx 형식의 주소입니다. 포트 매개 변수는 서버가 실행 중인 포트입니다. 선택적 client_address 매개 변수는 클라이언트 컴퓨터의 자동 로컬 주소 생성을 재정의하며 위에 나열된 서버 프로그램과 유사합니다. 예를 들어 포트 5000에서 실행 중인 주소가 192.168.1.1.102인 서버에 연결하려면 timecli 192.168.1.102 5000을 입력합니다. 위의 표 2 및 3 예제에서 사용할 다음 홉의 MAC 주소를 알아보려면 주소 확인 프로토콜(ARP)을 사용해야 합니다.

ARP 요청 이더넷 프레임을 보내는 예제와 ARP 회신 이더넷 프레임을 받는 예제가 포함되어 있습니다. 또한, 나는 몇 가지 라우터 권유 및 광고 루틴을 포함했다. 아래 표 1 예제에서는 setockopt() 및 IP_HDRINCL 플래그를 사용하여 IP 헤더가 포함되어 있으며 패킷 내의 모든 값을 수정할 수 있지만 커널은 레이어 2(데이터 링크) 정보(소스 및 다음 홉 MAC)를 채웁니다. 주소)를 참조하십시오. 몇 가지 이웃 검색을 시도 하기 전에 몇 가지 예를 살펴보겠습니다 우리가 이웃 검색을 사용 하지 않는, 따라서 만 IPv6 헤더에서 홉 제한 및 트래픽 클래스 값을 변경할 수 있습니다. 표 14는 홉별 확장 헤더와 조각화가 필요한 충분한 TCP 데이터를 사용하여 TCP 패킷을 보내는 예제를 제공합니다.

This entry was posted by in Uncategorized.