gpt4 book ai didi

c - 从套接字读取时读取返回 1,即使它读取更多

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:15:43 25 4
gpt4 key购买 nike

当我像这样从 SOCK_STREAM 套接字读取数据时:

int t;
while ((t = read(clientsocket, buff, 128) > 0))
{
write(1, buff, t);
}

读取总是返回 1,但如果我用 gdb 查看 buff,我可以看到我发送的整行。我正在使用 netcat 将数据发送到服务器。

最佳答案

由于 operator precedence,这是不正确的:

while ((t = read(clientsocket, buff, 128) > 0))

并导致 t 被分配 read(clientsocket, buff, 128) > 0 的结果,这将是 01

要更正,请更改为:

while ((t = read(clientsocket, buff, 128)) > 0)

关于c - 从套接字读取时读取返回 1,即使它读取更多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22756718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com