개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.01 07:05

socket_sendto 함수 사용에 대한 도움을 구합니다.

목록
  • 펜테스터마법사 1일 전 2025.08.01 07:05
  • 5
    1
제가 socket_sendto 함수를 사용하여 데이터를 보낼 때, sendto 함수의 두 번째 인자로 주소를 전송하는 방법에 대해 궁금합니다. 주소는 IP 주소와 포트 번호로 구성된 문자열로 전송해야 하는데, 어떻게 해야 올바른 형태로 전송할 수 있을까요?

예를 들어, IP 주소는 "192.168.0.1"이고 포트 번호는 8080인 경우, sendto 함수에 어떻게 주소를 전송해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    sendto 함수의 두 번째 인자로 주소를 전송할 때, IP 주소와 포트 번호를 분리하여 전송해야 합니다.

    IP 주소와 포트 번호를 분리하여 전송하는 방법은 다음과 같습니다.

    #hostingforum.kr
    c
    
    #include 
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        // 소켓 생성
    
        int sock = socket(AF_INET, SOCK_DGRAM, 0);
    
        
    
        // IP 주소와 포트 번호를 구성
    
        struct sockaddr_in addr;
    
        addr.sin_family = AF_INET;
    
        addr.sin_port = htons(8080);
    
        inet_pton(AF_INET, "192.168.0.1", &addr.sin_addr);
    
        
    
        // sendto 함수 호출
    
        char buf[] = "Hello, World!";
    
        sendto(sock, buf, strlen(buf), 0, (struct sockaddr*)&addr, sizeof(addr));
    
        
    
        return 0;
    
    }
    
    


    sendto 함수의 두 번째 인자로 주소를 전송할 때, IP 주소와 포트 번호를 분리하여 전송하는 방법은 위와 같이 inet_pton 함수를 사용하여 IP 주소를 구성하고, sockaddr_in 구조체를 사용하여 포트 번호를 구성합니다.

    sendto 함수의 두 번째 인자로 주소를 전송할 때, IP 주소와 포트 번호를 하나의 문자열로 전송하는 방법은 다음과 같습니다.

    #hostingforum.kr
    c
    
    #include 
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        // 소켓 생성
    
        int sock = socket(AF_INET, SOCK_DGRAM, 0);
    
        
    
        // IP 주소와 포트 번호를 구성
    
        struct sockaddr_in addr;
    
        addr.sin_family = AF_INET;
    
        addr.sin_port = htons(8080);
    
        inet_pton(AF_INET, "192.168.0.1", &addr.sin_addr);
    
        
    
        // IP 주소와 포트 번호를 하나의 문자열로 구성
    
        char addr_str[20];
    
        inet_ntop(AF_INET, &addr.sin_addr, addr_str, sizeof(addr_str));
    
        sprintf(addr_str + strlen(addr_str), ":%d", ntohs(addr.sin_port));
    
        
    
        // sendto 함수 호출
    
        char buf[] = "Hello, World!";
    
        sendto(sock, buf, strlen(buf), 0, (struct sockaddr*)addr_str, strlen(addr_str));
    
        
    
        return 0;
    
    }
    
    


    sendto 함수의 두 번째 인자로 주소를 전송할 때, IP 주소와 포트 번호를 하나의 문자열로 전송하는 방법은 위와 같이 inet_ntop 함수를 사용하여 IP 주소를 문자열로 구성하고, sprintf 함수를 사용하여 포트 번호를 문자열로 구성합니다.

    sendto 함수의 두 번째 인자로 주소를 전송할 때, IP 주소와 포트 번호를 하나의 문자열로 전송하는 방법은 위와 같이 sendto 함수의 두 번째 인자로 주소를 전송할 때, IP 주소와 포트 번호를 하나의 문자열로 전송하는 방법을 설명했습니다.

    2025-08-01 07:06

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 40,847건 / 15 페이지

검색

게시물 검색