Linux套接字重新读取旧数据



我正在编写一个Linux套接字程序,当我从套接字读取数据时,我的缓冲区中有以前读取的旧数据值。我正在使用read()调用,但我也尝试过recv(),两者都导致同样令人沮丧的错误。下面是三个read调用:

read(client_sock, &test, sizeof(test));

read(client_sock, &test2, sizeof(test2));

read(client_sock, &test3, sizeof(test3));

test、test2和test3都是char,它们都试图读取客户端写入的char值。任何帮助都将非常感激。

我怀疑问题是你假设你的读取成功了,并且你读取了和你要求的一样多的数据。

这将不一定是这种情况!

你完全,绝对,肯定需要从"read()"中获得返回值。它可能小于你的缓冲区,它可能是"-1"(一个错误)

最新更新