C++로 작성된 서버에서 간단한 로그인에 대한 시간 제한을 쓰고 있습니다. 음,이 코드입니다 :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 초에 독립적으로 연결을 닫아야한다는 것입니다.
가능합니까? 감사합니다.
'하우스 키핑'스레드가 필요하고 백그라운드를 실행하며 사용자 작업과 상관없이 세션을 확인하고 무효화하는 것처럼 들립니다. – trojanfoe