forse questa ha più senso:
Codice PHP:
#include <algorithm>
int Socket::ReceiveBytes(char * buffer, int buffersize)
{
if(buffersize > 32768)
buffersize = 32768;
char temp[32768];
int byrv = 0;
u_long arg = 0;
if (ioctlsocket(s_, FIONREAD, &arg) != 0)
return -1;
if (arg == 0)
return byrv;
if (arg > buffersize)
arg = buffersize;
int rv = recv (s_, temp, arg, 0);
if (rv <= 0)
{
return -1;
} else {
std::copy(temp, temp + rv, buffer);
}
}
dove in:
codice:
ioctlsocket(s_, FIONREAD, &arg);
mi ritorna in arg quanto ho dal leggere dal socket...