再请教一个关于异步tcp的问题,是不是一次发送的数据不可以分两次接收?
比如,我用send(s,buffer,10,0)发送,然后在FD_READ事件中用recv(s,buffer,10,0)就一切正常,但是如果我在FD_READ时间中两次接收这个数据就出错
if(msg==FD_READ)
{
recv(s,buffer1,5,0);
recv(s,buffer2,5,0);
}
这样写的话接收这10个字节的数据没错,但是在接收完我发现系统会多发生一次FD_READ事件,而且在这次响应中读数据会返回错误。不知道这样说各位能不能听懂。请问是哪里出的问题?