#ifdef SF_PLATFORM_WIN
u_long readn = DEFAULT_SOCKET_READ_LEN;
if (sf_ioctlsocket(fd, FIONREAD, &readn) < 0)
return -1;
return (int)readn;
#else
int n = DEFAULT_SOCKET_READ_LEN;
if (sf_ioctlsocket(fd, FIONREAD, &n) < 0)
return -1;
return n;
#endif
获取消息的长度,便可以直接开辟相应的缓存进行消息接收了。