尝试使用sendto()

时间:2018-08-09 17:04:00

标签: c sockets

我试图用C制作一个简单的服务器,但是我的程序以“地址错误”结束。我的目标是继续通过UDP接收消息,并将其发送到数组的每个地址。 这是数组(和计数器):

struct sockaddr_in add[MAX_CLIENTS]; clients = 0;

这是我添加更多客户的方式:

add[clients] = echoClntAddr; clients++;

echoClntAddr当然是struct sockaddr_in;在我使用recvfrom()函数从其接收消息之后执行此行。

这是我尝试进行广播的地方:

for(int i=0; i < clients; i++){
            printf("\n Sending to client %ul",add[i].sin_addr.s_addr);
            if(sendto(sock, m, echoStringLen, 0, (struct sockaddr *) &add[i], sizeof(add[i])) != echoStringLen) 
                die("\n Error in sendto()");
        }

怎么了?我错误地存储了地址或将错误的参数传递给sendto()

0 个答案:

没有答案