Hello ! Pour les besoins d'un script je doit utiliser un serveur / client socket , j'ai trouver sur le net ces scripts

http://www.ac-creteil.fr/util/progra...tp-reseau.html


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/perl -w
# serveur.pl  #
###############
use IO::Socket;
 
$server = IO::Socket::INET->new(
    LocalPort => 1234,
    Type      => SOCK_STREAM,
    Reuse     => 1,
    Listen    => 5
) or die "Création du serveur impossible.\n";
print "Démarrage du serveur ..\n";
 
while ($client = $server->accept()) {
 print $client "Le serveur dit 'bonjour' au client !\n";
 
 $pid = fork;
 die "Je ne peux pas forker !" if ! defined ($pid);
 
 if ($pid ==0) {
 # c'est le processus enfant, chargé de l'écoute des clients
 #############################################################
   while ($ligne = <$client> ) {
     print "client> $ligne";
 
   }
  } else {
  # c'est le père qui pendant ce temps répond au client #
  #######################################################
   while ($ligne = <>) {
     print $client $ligne;
  }
 }
}


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/perl -w
# client.pl  #
##############
use IO::Socket;
 
print "nom ou adresse IP du serveur (localhost par défaut) ";
$adresse = <>; chomp($adresse);
$adresse= "localhost" if $adresse eq "";
 
$socket = IO::Socket::INET->new(
        PeerAddr => $adresse,
        Proto => "tcp",
        PeerPort => 1234
        )
or die "Connexion au serveur impossible.\n";
 
$pid = fork;
die "Je ne peux pas forker !" if ! defined ($pid);
 
if ($pid ==0) {
 # c'est le processus enfant, chargé de l'émission au serveur
 #############################################################
    while ($ligne = <> ) {
     print $socket $ligne;
    }
} else {
  # c'est le père qui pendant ce temps écoute le serveur
  #######################################################
    while ($ligne = <$socket>) {
     print "serveur> $ligne";
    }
}
Je voudrais modifier leur fonctionnement pour que le client envoie un scalaire $data au serveur que celui si effectue certaines opérations dessus et renvoie le résultat au client.


pour envoyer $data au serveur j'ai fait sa dans le client


Code : Sélectionner tout - Visualiser dans une fenêtre à part
while ( $ligne = $data ) {
ou $date = "lundi";

je n'arrive pas a récupérer la varialble dans le serveur , effectuer des opérations et renvoyer le résultat au client.