Commit Graph

272 Commits

Author SHA1 Message Date
Fred Z
a395444baf Update TODO: client freeze finally work
I do not know if the bug disappear or if the bug has never existed.
The messaqe is striped so, nothing is sent when it contains nothing
or only spaces.
2018-03-05 23:12:50 +01:00
Fred Z
d0016e50cc Add socket SO_REUSEADDR
… to avoid been blocked at relaunching immediatly the server
2018-03-05 23:12:50 +01:00
Fred Z
07284076cd Edit TODO using wlist with select.select()
Under heavy charge the script might be weak with seocket.read() &
socket.send() using together rlist in select.select().
See https://pymotw.com/3/select/index.html
2018-03-05 23:12:50 +01:00
Fred Z
993b5bcfa8 Edit TODO move closing connect at the script's end
Use a boolean to escape while-loop and move the closing stuff outside
the handler()
2018-03-05 23:12:50 +01:00
Fred Z
594fa78141 Display welcome message when a client connects #20
FIX #20 sending welcome message only at 1st client connection
2018-03-05 23:12:50 +01:00
Fred Z
c863a2c727 Improve <ctrl+c> interruption
Add clean server disconnection with «quit» keyword

Fix this 2 bugs:
- show message on server when client use <ctrl+c>
- crash after 2 <ctrl+c> in client
2018-03-05 23:12:50 +01:00
Fred Z
8951d7dcd5 Edit TODO crash after 2 <ctrl+c> in client
When 2 clients quit with <ctrl+c> consecutively, the 3 client trying
to connect will crash the server
2018-03-05 23:12:50 +01:00
Fred Z
19271c5995 Edit TODO show msg server when client use <ctrl+c>
When 1 client is interrupted with <ctrl+c>, the server do not print the
disconnect message.
2018-03-05 23:12:50 +01:00
Fred Z
29634fdec4 Edit TODO clean the prompt and std.out
Since broadcast implementation the screen is now a bit messy:
 - empty prompt line
 - message from other clients
 - empty liness
 - etc…
2018-03-05 23:12:50 +01:00
Fred Z
b742bf42ad Add broadcasting feature
Now it's a chat-room, each message sending by a client is now
broadcasted to other clients.
Modifications on the client are:
 - rename connections list as in server.py
 - fix using the wrong list for checking events. It was not a problem
 before implementation of broadcasting
2018-03-05 23:12:50 +01:00
Fred Z
7ecefcf2ad Add bug when sending space or empty string
In client if a empty string is typed (or a _space only_) string,
server do not print it and client lose connection and prompt do not
appear.
2018-03-05 23:12:50 +01:00
Fred Z
c6b16c2c87 Add signal interrupt for clean exit in server 2018-03-05 23:12:50 +01:00
Fred Z
cd3a0e1782 Formate and update TODO.md 2018-03-05 23:12:50 +01:00
Fred Z
2b65be6587 Add signal interrupt for clean exit in client 2018-03-05 23:12:50 +01:00
Fred Z
c13a4fa59c Add TODO.md and rename project path 2018-03-05 23:12:50 +01:00
Fred Z
5e9c9510df Add a checkpoint for data sent to server
FIXED server crash when a client quit

TODO clean client exit with <ctrl-c>
TODO Showing message on server when client disconnect
TODO welcome message receiving after 1 sended message
TODO sending welcome message only at 1st client connection
2018-03-05 23:12:50 +01:00
Fred Z
e53cd89e2a Reduce client code and keep it working basicly
FIXME welcome message receiving after 1 sended message
BUG server crash when a client quit
TODO sending welcome message only at 1st client connection
2018-03-05 23:12:50 +01:00
Fred Z
41aac322c9 Reduce server code and keep it working basicly
FIXME welcome message sending after 2 received message
BUG server crash when a client quit
2018-03-05 23:12:50 +01:00
Fred Z
f619776b42 Implemente le mécanisme du client 2018-03-05 23:12:50 +01:00
Fred Z
3f2e6ff76b Implemente l'écoute clients en une seule passe
Le code initial realisait 2 boucles pour accepter de nouveaux clients
et recuperer les donnees transmises par les clients connectés.
Desormais tout se passe dans la même.
Reste a percer le mystère de la déconnexion cliente qui ne fera pas
crasher le serveur.
2018-03-05 23:12:50 +01:00
Fred Z
3eb9a6aaab Identifie les clients avec raddr au lieu de fd 2018-03-05 23:12:50 +01:00
Fred Z
7cbf894e2e Mise en constante du buffer 2018-03-05 23:12:50 +01:00
Fred Z
a825bb2712 Passe les parametres en arguments 2018-03-05 23:12:50 +01:00
Fred Z
9640cd143c Mise en constante des messages 2018-03-05 23:12:50 +01:00
Fred Z
1094327e31 Ajoute les fileno des clients
- lorque qu'un nouveau client se connecte
 - sur le server les messages sont prefixes avec le fileno
2018-03-05 23:12:50 +01:00
Fred Z
69e9816eb3 Ajoute un test d'echange client/server 2018-03-05 23:12:50 +01:00
Fred Z
eb017b2790 Add 2 client/server files for time server test
Run the server, and clients.
Server send time at connection and each 10 seconds while client stay
connected.
2018-03-05 22:59:32 +01:00
Fred Z
cec199ffaa Ajoute un essai des modules signal & time 2018-02-22 15:35:26 +01:00
Fred Z
52ef49a2b0 Supprime les scripts obsolete 2018-02-22 14:01:25 +01:00
Fred Z
a4d0ac735e Range les scripts isolés ensemble 2018-02-22 14:00:39 +01:00
Fred Z
926c15975a Supprime dossier en doublon 2018-02-22 00:01:09 +01:00
Fred Z
dc7f6239e8 Merge branch 'stackex' 2018-02-21 23:55:27 +01:00
Fred Z
3bd87c54a5 Ajoute stackex/readme.md 2018-02-21 23:54:09 +01:00
Fred Z
5c9da24a1d Deplace les exemples stackex 2018-02-21 23:51:06 +01:00
Fred Z
7954b49ce6 Merge branch 'stackex' 2018-02-21 23:18:52 +01:00
Fred Z
c594fa75b7 Merge branch 'roboc' 2018-02-21 23:17:29 +01:00
Fred Z
4445796ff2 Ajoute scripts fractale et 'lint' exercices 2018-02-21 23:13:33 +01:00
Fred Z
fc6100d64c Ajoute todo.md suite inspiration apres corrections 2018-02-21 23:02:07 +01:00
Fred Z
f5fbf5cce0 Ajoute une nouvelle cartes 2018-02-20 11:10:41 +01:00
Fred Z
fb96ca4b63 Asking for if statement in try/except bloc 2018-02-19 11:52:06 +01:00
Fred Z
8e0aeeca43 Ajoute une condition lorsque l'on quitte le jeu
Si le premier tour n'a pas ete joue, la sauvegarde n'a pas ete faite
(et ne servirait a rien), on vie le message de statut
2018-02-19 00:48:58 +01:00
Fred Z
778962b183 Supprimme les fichiers donne en exemple 2018-02-19 00:36:08 +01:00
Fred Z
c25cf45777 Doctest cleaning
Suppression de la carte de dev.
2018-02-19 00:31:59 +01:00
Fred Z
3049eb559d Ajoute et supprime une nouvelle carte 2018-02-19 00:30:45 +01:00
Fred Z
612fe519c3 Met a jour commentaires et docstrings 2018-02-19 00:06:21 +01:00
Fred Z
d82a5fb181 Met a jour le readme 2018-02-18 17:56:07 +01:00
Fred Z
e6365a7e3e Code cleaning & revision complete des commentaires
Complement des docstrings, renomage `move_status_id` en `status`.
Pas de changement dans le deroulement du script.
2018-02-18 17:55:36 +01:00
Fred Z
e43a1d702f Nettoyage, mise en forme, comments dans la conf 2018-02-18 10:37:35 +01:00
Fred Z
4f00812f65 Ajoute le fichier readme.md 2018-02-18 09:58:20 +01:00
Fred Z
3d6073ea78 Corrige l'affichage du status_message
En passant a la sauvegarde automatique (a chaque tour), c'est le
message de confirmation de la sauvegarde qui s'affichait a chaque
tour et non plus celui du deplacement.
2018-02-18 09:19:01 +01:00