void MyClient::checkForData() {
logEvent( "About to check for data.", 2 );
char rbuffer[1024];
struct sockaddr_in from;
size_t fromlen = sizeof( from );
// set up variables to make the select call
struct timeval tv;
tv.tv_sec = wait_time_seconds; // how long to wait
tv.tv_usec = wait_time_microseconds;
fd_set read_fds;
FD_SET( sock, &read_fds );
logEvent( "Checking for data.", 1 );
int num_responses = 0;
if ( num_responses = select( sock+1, &read_fds, NULL, NULL, &tv ) > 0 ) {
logEvent
( QString( "Received data on %1 sockets." ).
arg( num_responses
),
2 );
recvfrom( sock, &rbuffer, sizeof( rbuffer ), 0, (struct sockaddr *) &from, &fromlen );
logEvent( "The response: '" + the_response + "'", 4 );
emit responseReady( the_response );
} else {
logEvent( "No response.", 4 );
}
QTimer::singleShot( check_interval,
this,
SLOT( checkForData
() ) );
}
void MyClient::checkForData() {
logEvent( "About to check for data.", 2 );
char rbuffer[1024];
struct sockaddr_in from;
size_t fromlen = sizeof( from );
// set up variables to make the select call
struct timeval tv;
tv.tv_sec = wait_time_seconds; // how long to wait
tv.tv_usec = wait_time_microseconds;
fd_set read_fds;
FD_SET( sock, &read_fds );
logEvent( "Checking for data.", 1 );
int num_responses = 0;
if ( num_responses = select( sock+1, &read_fds, NULL, NULL, &tv ) > 0 ) {
logEvent( QString( "Received data on %1 sockets." ).arg( num_responses ), 2 );
recvfrom( sock, &rbuffer, sizeof( rbuffer ), 0, (struct sockaddr *) &from, &fromlen );
QString the_response( rbuffer );
logEvent( "The response: '" + the_response + "'", 4 );
emit responseReady( the_response );
} else {
logEvent( "No response.", 4 );
}
QTimer::singleShot( check_interval, this, SLOT( checkForData() ) );
}
To copy to clipboard, switch view to plain text mode
Bookmarks