使用C中的recv()函数从'stream'套接字读取,len参数可以为零吗?
recv()函数为'远程连接关闭'返回零,并且在正常操作时实际读取的字节数,因此如果它应该读取零字节则听起来有问题.
PS
是的我知道单独处理它,并没有达到这种情况,仍然我想知道该功能是否可以处理它,我找不到任何关于它的文档.
我相信答案是“视情况而定”。如果标准没有指定(事实上我相信它没有),任何实现都可以随心所欲。
EINVAL0并继续gcc过去常常这样做:)))实际上在我的实现中,它返回 0 并继续。要检查它是否失败或只是返回 0,您可以errno在调用后检查,因此它并不像您想象的那么有问题。