Udp 用于存储在2D字符数组中的recvfrom

Udp 用于存储在2D字符数组中的recvfrom,udp,recvfrom,Udp,Recvfrom,尝试使用recvfrom函数在2D Char数组中收集1261 UDP数据包 define RxBuffSize 1514 define TotalPacket 1261 char RxBuff[RxBuffSize] = {0}; 我尝试使用的代码是: for (Count =0; Count <= TotalPacket; Count++) { recvfrom(sock, RxBuff[Count],RxBuffSize,0,(struct so

尝试使用recvfrom函数在2D Char数组中收集1261 UDP数据包

define RxBuffSize   1514
define TotalPacket  1261

char    RxBuff[RxBuffSize]      =   {0};
我尝试使用的代码是:

for (Count =0; Count <= TotalPacket; Count++)
{
    recvfrom(sock, RxBuff[Count],RxBuffSize,0,(struct sockaddr *)&Sender_addr, &Sender_addrlen);        
}

您需要足够的空间来连续存储所有数据包。您可以静态分配一个二维数组

char RxBuff [RxBuffSize][1261];
或者使用calloc

char *RxBuff = calloc(RxBuffSize, 1261);
然后将recvfrom循环1261次,就像您的问题一样:

for (Count = 0; Count <= TotalPacket; Count++)
{
    recvfrom(sock, RxBuff[Count],RxBuffSize,0,(struct sockaddr *)&Sender_addr, &Sender_addrlen);
}
for(计数=0;计数
for (Count = 0; Count <= TotalPacket; Count++)
{
    recvfrom(sock, RxBuff[Count],RxBuffSize,0,(struct sockaddr *)&Sender_addr, &Sender_addrlen);
}