从低于可读取的插槽读取

nme*_*nme 1 c c++ sockets

我找不到这个问题的答案:如果我从套接字4字节读取(我设置了4个字节的限制)会发生什么,但实际上有256字节等待读取?它们会丢失还是会等到下一次读取函数调用?

NPE*_*NPE 6

如果是TCP套接字,则不会丢失任何数据; 它会排队等候.

请记住,您必须准备好处理部分读取,即您获得的字节数少于请求的数量,并且必须read()再次调用才能获得更多.