Changes between Version 4 and Version 5 of InsiaProgPerlProjetBomberStep3


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

--

Legend:

Unmodified
Added
Removed
Modified
  • InsiaProgPerlProjetBomberStep3

    v4 v5  
    2525En 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.
    2626
    27 Plaç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):
     27Plaç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):
    2828{{{
     29$server = new IO::Socket::INET(...);
     30
    2931sub send_server {
    3032  my $msg = shift;
    3133  print "C $msg\n";
    32   print SERVER "$msg\n";
     34  print $server "$msg\n";
    3335}
    3436
    3537sub receive_server {
    3638  my $msg = <SERVER>;
     39  if (defined $msg) {
     40    chomp $msg;
     41    print "S $msg\n";
     42  }
     43  return $msg;
    3744}
    3845}}}
    3946
    40 '''Note''': la méthode de lecture est dite en mode ''polling'', c'est-à-dire qu'elle peut ne rien renvoyer (cad. qu'il n'y a pas de message reçu et non traité).
     47'''Note''': la méthode de lecture est dite en mode ''polling'', c'est-à-dire qu'elle peut ne rien renvoyer (cad. qu'il n'y a pas de message reçu et non traité). Ce cas est représenté par le retour d'une valeur indéfinie ({{{undef}}}).