gpt4 book ai didi

c - 如果在 C 中响应时间太长,如何取消函数调用?

转载 作者:太空狗 更新时间:2023-10-29 14:58:35 26 4
gpt4 key购买 nike

有没有办法调用一个函数,然后在响应时间过长时取消或跳过调用?

我正在模拟一个 ftp 连接,并且我正在使用这个函数调用接收来自服务器的响应:

status = receiveMessage(ccSocket, replyMsg, sizeof(replyMsg), &msgSize);

有没有办法等待,比如 5 秒,如果还没有响应就跳过函数调用?

最佳答案

有许多不同的方法可供您解决这个问题。

  1. 使用“select”调用,让您的系统检查是否有可用数据,使用给定的超时时间,如果时间过长,您可以取消检查。
  2. 异步设计使您能够“观察”一个套接字,而不必在该套接字上“等待”,这意味着您的进程只会在已知数据可用时运行3
  3. 非阻塞设计允许您出于多种不同原因使用您的处理器,其中套接字上的通信不应该阻碍您的处理器,类似于异步通信的一种方式,但有一个小的扭曲

关于c - 如果在 C 中响应时间太长,如何取消函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46982474/

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