Changes between Version 2 and Version 3 of InsiaProgPerlProjetBomberStep3


Ignore:
Timestamp:
Apr 14, 2007, 10:19:48 PM (14 years ago)
Author:
Vincent Caron
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • InsiaProgPerlProjetBomberStep3

    v2 v3  
    1717Notez que la communication est totalement asynchrone: les évenements de sortie (envoie d'action vers le serveur) et d'entrée (réception d'ordre du serveur) ont lieu de manière indépendante.
    1818
    19 === bla ===
     19=== Programmation du protocole ===
     20
     21Pour concevoir un protocole réseau, le plus simple est de se baser sur la façon d'un humain (comprendre "administrateur système"!) communique avec une machine. C'est à dire un ordre ou une information par ligne, en général en anglais et suffisamment explicite. Ainsi la programmation et le débogage se font naturellement.
     22
     23En Perl, les accès au réseau se font comme avec un fichier, donc nous pourrons tout naturellement lire ou écrire une ligne à l'aide des fonctions et opérateurs habituels. Seul l'établissement de la connexion demandera un (petit) effort supplémentaire.
     24
     25Plaçons nous du point de vue du client. Pour simplifier le débogage, chaque message (émis par le client ou reçu du serveur) sera affiché sur la console en le préfixant par '''C''' ou '''S''' pour déterminer son origine. Exemple (SERVER est le handle de la connexion):
     26{{{
     27sub send_server {
     28  my $msg = shift;
     29  print "C $msg\n";
     30  print SERVER "$msg\n";
     31}
     32
     33sub receive_server {
     34  my $msg = <SERVER>;
     35}
     36}}}
     37
     38}}}