gpt4 book ai didi

perl - 为什么我的 Perl sysread 在从套接字读取时会阻塞?

转载 作者:行者123 更新时间:2023-12-02 07:54:49 26 4
gpt4 key购买 nike

我正在做 sysread在 AIX 5.3 上的 Perl 5.8.2 中。根据文档,sysread 应该在从文件句柄中读取所有读取时给出 0。

在我的场景中,文件句柄是 STDIN 并指向一个套接字。所以我基本上是从套接字执行 sysread。但是我从来没有从 sysread 得到 0,它只是阻塞,即使在客户端发送了所有数据之后也是如此。

知道哪里出了问题吗?

谢谢。

最佳答案

“已发送所有数据”是什么意思? sysread 在句柄遇到文件结束条件时返回零,而不是在现在没有更多可用数据时返回零。对于套接字,当另一端关闭套接字进行写入时,会发生 EOF on read。 (好吧,如果发生网络超时等错误,sysread 也会返回 undef,它在数值上等于零。)

关于perl - 为什么我的 Perl sysread 在从套接字读取时会阻塞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1530592/

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