gpt4 book ai didi

c++ - 如何在 C++ 中设置登录超时?

转载 作者:行者123 更新时间:2023-11-30 03:05:13 25 4
gpt4 key购买 nike

我正在为用 C++ 编写的服务器上的简单登录编写超时。嗯,这是代码:

char username[this->BUFSIZE];
clean(username);
char password[this->BUFSIZE];
clean(password);
send(client_fd, "USER", 4, 0);

//Start timer
time_t end,start;
double dif;
time (&start);

recv(client_fd,username,BUFSIZE,0);
send(client_fd, "PASS", 4, 0);
recv(client_fd,password,BUFSIZE,0);

//End timer
time (&end);
dif = difftime (end,start);
//If dif>10 seconds disconnect the client.
if(dif>10)
close(client_fd);

好的,它工作正常,但有一个问题:只有当客户端输入用户名 + 密码时才会断开连接。我的目标是计时器必须在 10 秒时关闭连接,独立于客户端是否登录。

这可能吗?谢谢!

最佳答案

您可以使用select() 来等待client_fd 上的数据。 select 支持超时值,如果超时将返回 0。如果数据准备就绪,select 将返回有待处理数据的描述符的数量。

关于c++ - 如何在 C++ 中设置登录超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7915185/

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