あるcプログラムから別のcプログラムにUDPプロトコルを介してデータを送信しています
データを受信するときに、文字列を処理して関数で使用する場合、関数の終了に時間がかかるために新しいデータを受信する時間がない場合、データがスタックされてから、リアルタイム処理を行うという私の実際の目的である最近のデータを処理する代わりに、古いデータを処理する
誰かがこれで私を助けることができますか?
これは私の受信コードです:
addr_len = sizeof their_addr;
if ((numbytes = recvfrom(sockfd, ubuf, 6 , 0,(struct sockaddr *)&their_addr, &addr_len)) == -1)
{
perror("recvfrom");
//exit(1);
}
inet_ntop(their_addr.ss_family,get_in_addr((struct sockaddr *)&their_addr),s, sizeof s);
//printf("listener: packet is %d bytes long\n", numbytes);
ubuf[numbytes] = '\0';
printf("listener: packet contains \"%s\"\n", ubuf);