Aide pour modification de script
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:
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:
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:
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.