gpt4 book ai didi

c - 为接收函数设置套接字超时

转载 作者:可可西里 更新时间:2023-11-01 02:46:09 24 4
gpt4 key购买 nike

我有一个客户端服务器连接,客户端正在向服务器发送数据。

while (1) {

bzero(buffer, 256);
sleep(1);

n = read(sock, buffer);
if(n < 0) error("ERROR reading from socket");
c = message[0];

//do something

}//close while loop

我只想等待读取发生几秒钟的问题 - 在我的代码中,如果客户端不发送任何内容,它就会卡住等待服务器读取某些内容。

请问我如何才能等待读取发生几秒钟?

最佳答案

如果您的套接字是非阻塞的,您可以使用 select功能。如果您的套接字阻塞,您可以使用 setsockopt 设置读取超时功能。有关更多详细信息,请参阅此 stackoverflow 问题。 Linux: is there a read or recv from socket with timeout?

关于c - 为接收函数设置套接字超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44068549/

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