Probleme client en perl - Perl - Programmation
Marsh Posté le 02-05-2005 à 15:58:55
T'es sûr que c'est pas plutôt le serveur qui ferme la connexion ? .. Parce qu'à priori, tant que tu ne close() pas ton socket chez ton client, il n'y a aucune raison que la connexion se coupe ..
Marsh Posté le 02-05-2005 à 16:16:08
C est trop bisar meme en mettant pas le close() il me vire.Bon jvai essaye de me debrouiller
merci
Marsh Posté le 02-05-2005 à 16:26:53
Ben oui j'ai vu .. c'est bien pour ça que je te pose la question !
Faut rester logique : si c'est pas le client qui ferme la connexion, ça ne peut donc être que le serveur !
C'est quoi ce serveur ?
Marsh Posté le 02-05-2005 à 15:47:18
Bonjour
voila j ai un probleme avce les sockets en perl je me connecte a un serveur qui me renvoi tous les utilisateur connecter grace a la fonction suivante:
sub Envoyer()
{
print "IP ->> $ip" . "\n";
print "PORT ->> $port" . "\n";
print "PSEUDO ->> $pseudo" . "\n";
$fenetre_connection -> destroy;
$serv_addr = $ip;
$serv_port = $port;
my $socket = IO::Socket::INET->new(PeerAddr => $serv_addr,
PeerPort => $serv_port,
Proto => "tcp",
Type => SOCK_STREAM)
or die {print "bof\n"};
#envoi d'un message au serveur
print $socket "NEW $pseudo\n";
my $reponse = <$socket>;
print "$reponse";
print $socket "USERS\n";
my $reponse2 = <$socket>;
print "$reponse2";
my @users = split / /, $reponse2;
@players = split /;/, $users[1];
#players players1:free players2:free
my @name_players = split /, $players[0];
# close($socket);
}
Le probleme est que mon client ce deconnecte directement, il me faudrait un truc qui fasse comme un while(1) pour ke mon client reste connecte mais pas un while(1) parce que sinon ca plante.
Merci