C gethostbyname和portno作为数组

C gethostbyname和portno作为数组,c,arrays,gethostbyname,C,Arrays,Gethostbyname,我正在IDE Momentics工具中开发服务器客户端应用程序。 这是服务器部分: int sockfd, portno, a; char *IP[16]; int server_to_client(struct AllPack allmess) { int portno; struct sockaddr_in serv_addr; struct hostent *server; if (a < 2) { fprint

我正在IDE Momentics工具中开发服务器客户端应用程序。
这是服务器部分:

int sockfd, portno, a;
char *IP[16];

int server_to_client(struct AllPack allmess)
{
     int portno;
     struct sockaddr_in serv_addr;
     struct hostent *server;
     if (a < 2) 
     {
         fprintf(stderr,"ERROR, no IP and port provided\n");
         exit(1);
     }
     portno = atoi(IP[2]);

     sockfd = socket(AF_INET, SOCK_DGRAM, 0);
     if (sockfd < 0) error ("ERROR opening socket");
     {
         server = gethostbyname(IP[1]);
     }
     if (server == NULL)
     {
         fprintf(stderr, "ERROR, no such host\n");
         exit(0);
     }

     bzero((char *) &serv_addr, sizeof(serv_addr));
     serv_addr.sin_family = AF_INET;
     bcopy((char *) server -> h_addr, (char *)&serv_addr.sin_addr.s_addr, server -> h_length);
     serv_addr.sin_port = htons(portno);
     if (connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) error ("ERROR connecting");

     int n = write(sockfd, &allmess, sizeof(allmess));
     if (n < 0) error ("ERROR writing socket");
     close(sockfd);
     return (EXIT_SUCCESS);
}

int main(int argc, char *argv[])
{
    a = argc;

    for(int i = 0; i < a; i++)
    {
        IP[i] = argv[i];
    }
    server_to_client(allmess);

    return (EXIT_SUCCESS);
}

因此,我必须同时通过多个端口将数据发送到多个IP?

您的问题是什么?问题是如何将数据发送到多个地址。。?
/home/Server 192.168.0.21 70003 192.168.0.22 70004