It's a server-client code. The client should wait for the server, and if there's no response, then send a new request. There's a 2 second wait. It's UNIX.
I've been looking at some select() examples, but I'm not really sure... I found this example.
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <stdio.h>
#define S1READY 0x01
#define S2READY 0X02
waittoread(int s1,int s2)
{
fd_set fds;
struct timeval timeout;
int rc, result;
/* Set time limit. */
timeout.tv_sec = 2;
timeout.tv_usec = 0;
/* Create a descriptor set containing our two sockets. */
FD_ZERO(&fds);
FD_SET(s1, &fds);
FD_SET(s2, &fds);
rc = select(sizeof(fds)*8, &fds, NULL, NULL, &timeout);
if (rc==-1) {
perror("select failed");
return -1;
}
result = 0;
if (rc > 0)
{
if (FD_ISSET(s1, &fds)) result |= S1READY;
if (FD_ISSET(s2, &fds)) result |= S2READY;
}
return result;
}
Would this work? And would this be the most efficient way to do ?