У меня есть программа, которая передает (транслирует) и получает UDP-пакеты одновременно, используя pthreads.Что я хочу сделать, это удалить пакеты, которые были отправлены мной.Как я могу это сделать?Мой код приема в настоящее время выглядит следующим образом:
void *receive_thread_body(void *arg)
{
long msg = 0;
while(msg<500)
{
fd_set socket_set;
FD_ZERO(&socket_set);
FD_SET(b_sock,&socket_set);
struct timeval tm;
tm.tv_usec = 10;
tm.tv_sec = 0;
int ret = select(b_sock+1,&socket_set,0,0,&tm);
if(ret == -1)
{
std::cout<<"select failed";
}
if(FD_ISSET(b_sock,&socket_set) != 0)
{
int recvStringLen = recvfrom(b_sock, &msg, sizeof(msg), 0, NULL, 0);
if(recvStringLen < 0)
{
std::cout<<"recvfrom failed";
}
else
{
printf("\t\t\tRX: %d\n",msg);
}
}
}
}