gpt4 book ai didi

c - 使用 sleep() 或无限循环等待事件更好吗?

转载 作者:太空狗 更新时间:2023-10-29 15:17:27 24 4
gpt4 key购买 nike

我目前正在开发一个与 SSH 服务器通信的客户端。一切正常,但是,由于服务器响应速度很慢,我必须等待它发送数据。我有两个选择,我想请教一下什么是最有效的等待服务器的方式。

选择#1:

while (!(ssh_channel_poll(*sshChannel,0)))
;

选择#2:

while (!(ssh_channel_poll(*sshChannel,0)))
sleep(1);

最佳答案

这两种选择都是不可取的。通常,您会使用阻塞读取。我假设它看起来像这样(因为你说你正在等待服务器):

while (!ssh_channel_poll(...)) { ... }
ssh_channel_read(...);

在这种情况下,poll 是不必要的。只需确保 SSH 连接是阻塞连接,read 函数将等待直到数据可用(如果在您调用时没有数据可用)。

// This is all you need.
ssh_channel_read(...);

关于c - 使用 sleep() 或无限循环等待事件更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45913910/

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