udp 전송 프로 그래 밍
데 이 터 를 보 내 려 면 패키지 가 필요 합 니 다. 응용 층 에서 데 이 터 를 보 내 고 아래로 전송 층 이 필요 합 니 다. 데 이 터 를 보 내기 전에 포트 번호 (목적 포트, 소스 포트) 를 추가 해 야 합 니 다.하층 네트워크 층 으로 는 포트 번호 앞 에 IP 번호 (원본 IP, 목적 IP), 프로 토 콜 형식 (udp 17, tcp 6) 을 추가 해 야 합 니 다. 하층 링크 층 으로 는 IP 번호 앞 에 mac 주소 (목적, 소스), 프레임 프로 토 콜 을 추가 해 야 합 니 다.
네트워크 응용 프로그램의 통신 모드
B / S: 브 라 우 저 와 서버 모드 C / S: 클 라 이언 트 와 서버 모드
바이트 순서
데이터 저장 방식: 크기 단 저장 일반 개인 용 컴퓨터 는 작은 단 저장 소 입 니 다. 큰 서버 와 네트워크 의 데 이 터 는 큰 단 저장 소 입 니 다. 이 컴퓨터 에서 통신 할 때 크기 단 을 고려 하지 않 고 데 이 터 를 네트워크 에 보 내 면 크기 단 이 2 바이트 이상 이 어야 하 는 크기 단 을 고려 해 야 합 니 다.
udp 전송 (c / s)
udp 송신 데이터
void* udp_send(void *arg)
{
int sock_fd = *(int *)arg;
char buf[1024]="";
struct sockaddr_in dst_addr;//ipv4
dst_addr.sin_family = AF_INET;
dst_addr.sin_port = htons(8080); //
char ip[16] = "192.168.124.43";
inet_pton(AF_INET,ip,&dst_addr.sin_addr.s_addr);
while(1)
{
fgets(buf,sizeof(buf),stdin);
sendto(sock_fd,buf,strlen(buf),0, (struct sockaddr*)&dst_addr,sizeof(dst_addr));
}
}
udp 수신 데이터
void *udp_recv(void *arg)
{
int sock_fd = *(int *)arg;
char buf[1024]="";
struct sockaddr_in src_addr;// ( )
socklen_t len = sizeof(src_addr);
while(1)
{
memset(buf,0,sizeof(buf));
recvfrom(sock_fd,buf,sizeof(buf),0,(struct sockaddr*)&src_addr,&len);//
printf("recv = %s
",buf);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.