Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    8

    [C++] Timer per logout in applicazione Console

    Buongiorno,
    Sto scrivendo un programma per un esame e vorrei che, dopo che l'utente effettua il login, se non vengono compiute azioni per tot minuti il programma lo slogghi automaticamente.
    Vorrei sapere secondo voi cosa dovrei utilizzare? Threads?
    Non sto chiedendo di scrivermi codice, solo di darmi un idea per potermi studiare l'argomento.
    Grazie

  2. #2
    Quote Originariamente inviata da Maaxo Visualizza il messaggio
    Buongiorno,
    Sto scrivendo un programma per un esame e vorrei che, dopo che l'utente effettua il login, se non vengono compiute azioni per tot minuti il programma lo slogghi automaticamente.
    Vorrei sapere secondo voi cosa dovrei utilizzare? Threads?
    Non sto chiedendo di scrivermi codice, solo di darmi un idea per potermi studiare l'argomento.
    Grazie
    Di che applicazione si tratta? CLI, GUI? L'utente esegue un login prima di usare l'applicazione? Su che sistema operativo deve girare?
    Experience is what you get when you don’t get what you want

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    8
    Quote Originariamente inviata da Xaratroom Visualizza il messaggio
    Di che applicazione si tratta? CLI, GUI? L'utente esegue un login prima di usare l'applicazione? Su che sistema operativo deve girare?
    La ringrazio per la risposta.
    E' una semplice applicazione console, senza interfaccia grafica. L'utente come prima operazione deve eseguire il login, e deve essere sloggato nel momento in cui rimane inattivo per un certo tempo. Deve girare su Windows.
    Come compilatore uso Visual Studio 2010.

  4. #4
    Su un'applicazione console la cosa è un po' ingarbugliata, ti devi "sporcare le mani" gli oggetti timer del kernel e le API della console... tutto sommato forse fai prima a fare un'applicazione GUI.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Sarebbe carino (come proof of concept) fare uno stream di lettura da stdin temporizzato. Allo scadere del timeout lanciare un'eccezione e, nel main loop dell'applicazione, fare un bel catch che esegue il logout.

    Sui sistemi posix, per le letture con timeout, si usa la system call select... su windows non esiste un equivalente, ma penso tu possa farcela (correggetemi se sbaglio) con la WaitForSingleObject.

    http://linux.die.net/man/2/select
    http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

    PS: Non è la soluzione più elegante ma è sicuramente la più veloce
    Ultima modifica di Xaratroom; 04-09-2014 a 17:35
    Experience is what you get when you don’t get what you want

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.