Implemento nel server la gestione di REQ_END mentre è BUSY, con cancel_request()
Sostituisco "canceled" => "cancelled" e risolvo un problema del server che
generava un WARNING se un client che ha inoltrato una richiesta annullata si
disconnette
Fixup 3dfb2368 (aggiungo -NDEBUG ai flag di compilazione)
Aggiungo al Makefile i target per visualizzare i log del client (client_log) e
far partire un server, una coppia di client e i relativi log (make run)
Aggiusto la gestione del timeout durante la partita: il client non informa
l'avversario perché verrebbe interpretato come un abbandono
Inverto GAME_HOST e GAME_GUEST, inizia il guest, cioè 'X'
Fixup 4d6d8fb4: corretto grave bug che provocava segfault
Implemento la fine della partita alla vincita/perdita/pareggio
Modifico i messaggi di log del server relativi ad azioni che interessano client
disconnessi
Resetto la griglia ad inizio partita (prima rimaneva memorizzata quella della
precedente), aggiungo init_grid() in tris_game
Aggiusto il log degli input dell'utente nel client
Il socket UDP di gioco viene aperto e bindato al momento del login e rimane così
per tutta l'esecuzione del client. L'inizio e la fine di partite determina solo
la connessione del socket all'host avversario e disconnessione
Il socket UDP viene de-bindato prima di aspettare REQ_HELLO, su errore manda
RESP_REFUSE automatico