这个问题几乎耽误了我一天时间,真是郁闷,
char szText[256] = {0};
int nRecv=::recv(fdSocket.fd_array[i],szText,strlent(szText),0);
上面的代码是收不到数据的,即便有数据可读,原因是strlen的长度衡量是以‘0’为标识的,上述sztext已经各个字符是0了,所以上面代码等价于
int nRecv=::recv(fdSocket.fd_array[i],szText,0,0); !!
问题随小,但也易错。