Send HEX values through UDP Socket
===

I'm trying to send an array of hexadecimal values through an udp socket but I can't only receive the firt byte 0x22. What's the problem?? Thank you in advance!!!

PD: How can I print the array with hex values?


    /* UDP client in the internet domain */
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <netdb.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <string.h>
    #include <signal.h>
    #include <time.h>
    
    void error(const char *);
    int main()
    {
       int sock, n;
       unsigned int length;
       struct sockaddr_in server;
       struct hostent *hp;
       char buffer[13]={0x22,0x00,0x0d,0xf4,0x35,0x31,0x02,0x71,0xa7,0x31,0x88,0x80,0x00};
       
     
       hp = gethostbyname("127.0.0.1");
       if (hp==0) error("Unknown host");
    
       sock= socket(AF_INET, SOCK_DGRAM, 0);
       if (sock < 0) error("socket");
    
       server.sin_family = AF_INET;
       bcopy((char *)hp->h_addr, 
            (char *)&server.sin_addr,
             hp->h_length);
       server.sin_port = htons(atoi("6666"));
       length=sizeof(struct sockaddr_in);
       while (1) {
         n=sendto(sock,buffer,strlen(buffer),0,(const struct sockaddr *)&server,length);
         if (n < 0) error("Sendto");
         printf("Sending Packet...\n");
         sleep(1);
       }
       close(sock);
       return 0;
    }
    
    void error(const char *msg)
    {
        perror(msg);
        exit(0);
    }

