ultimatepp/bazaar/Urr/Urr.cpp
cxl 2699bad9b5 bazaar: Added Urr - UDP request-response
git-svn-id: svn://ultimatepp.org/upp/trunk@1710 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2009-11-20 13:00:02 +00:00

23 lines
573 B
C++

#include "Urr.h"
#define LTIMING(x) // RTIMING(x)
NAMESPACE_UPP
int Rcv(SOCKET skt, void *buffer, int bsize, int timeout, void *adr, socklen_t *adrlen)
{
LTIMING("Rcv");
fd_set file_set;
timeval time_out;
FD_ZERO(&file_set);
FD_SET(skt, &file_set);
time_out.tv_sec = timeout / 1000;
time_out.tv_usec = timeout % 1000 * 1000;
if(adrlen)
*adrlen = 256;
if(IsNull(timeout) || select(skt + 1, &file_set, NULL, NULL, &time_out) > 0)
return recvfrom(skt, (char *)buffer, bsize, 0, (sockaddr *)adr, adrlen);
return -1;
}
END_UPP_NAMESPACE