udp 전송 프로 그래 밍

글 목록
  • 협의 팀 패키지
  • 네트워크 응용 프로그램의 통신 모델
  • 바이트 순서
  • udp 전송 (c / s)
  • 프로 토 콜 패키지
    데 이 터 를 보 내 려 면 패키지 가 필요 합 니 다. 응용 층 에서 데 이 터 를 보 내 고 아래로 전송 층 이 필요 합 니 다. 데 이 터 를 보 내기 전에 포트 번호 (목적 포트, 소스 포트) 를 추가 해 야 합 니 다.하층 네트워크 층 으로 는 포트 번호 앞 에 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); } }

    좋은 웹페이지 즐겨찾기