recvfrom接收数据的时候如何判断已经接收完了??
1 服务器端发送的数据是不定长的,每个包的长度不超过1500字节
2 有的包可能不到1000字节,就直接发送过去,有的大于1500的就分包,所以每个包没有固定的长度的。
在客户端怎么知道一个包已经接受完了呢?
问题:
1 不想让服务器通过发送消息来通知客户端,因为不想再改包的格式了,:(
2 好像有个函数可以提前窥测一下,但是好像代价挺大的,一般不建议用,是这样吗?
3 如果数据已经收完了,但是客户端不知道,而再次调用recvfrom,这时候WSAGetLastError()会返回0的错误,这个0是什么意思呢?另外可不可以通过这个来判断已经收完了,不过这样就必须多调用一次recvfrom了!!!
4 还有其他的方法吗?