【发布时间】:2011-11-20 06:28:25
【问题描述】:
我正在编写一个 Linux 套接字程序,当我从套接字读取数据时,我的缓冲区中有以前读取的旧数据值。我正在使用 read() 调用,但我也尝试过 recv() 并且都导致了同样令人沮丧的错误。以下是三个读取调用:
read(client_sock, &test, sizeof(test));
read(client_sock, &test2, sizeof(test2));
read(client_sock, &test3, sizeof(test3));
test、test2 和 test3 都是 char 并试图读入客户端写入的 char 值。任何帮助将不胜感激。
【问题讨论】:
-
您真的是在系统调用中一次读取一个字节吗?
-
您似乎没有检查来自
read()的返回值。