bon bah dsl mais avec le bout de code suivant j’obtiens :
[Wed Mar 31 11:44:28 2004] [error] [client 127.0.0.1] malformed header from script. Bad header=nom ou adresse IP du serveur (: c:/apache/cgi-bin/test.pl
#!c:perlinperl.exe
use IO::Socket;
print "nom ou adresse IP du serveur (localhost par défaut) ";
$adresse= “jason”;
$socket = IO::Socket::INET->new(
PeerAddr => $adresse,
Proto => “tcp”,
PeerPort => 4200
)
or die “Connexion au serveur impossible.
”;
$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
#############################################################
$ligne = “test”;
print $socket $ligne;
} else {
# c’est le père qui pendant ce temps écoute le serveur
#######################################################
while ($ligne = <$socket> {
print “serveur> $ligne”;
}
}
et le but c de balancer du texte sur le port 4200 d’un serveur et de lire la reponse thks
Bussiere
bon alors pour commencer le fork je trouve ca etrange dans ce genre de code.
(je developperai si necessaire)
tu envoie, puis tu lis. pas besoin de fork.
il manque peut etre Type => SOCK_STREAM
(present dans l exemple du camel book que j ai sous les yeux)
meme probleme :
[Wed Mar 31 13:25:36 2004] [error] [client 127.0.0.1] malformed header from script. Bad header=nom ou adresse IP du serveur (: c:/apache/cgi-bin/test.pl
nouveau code :
#!c:perlinperl.exe
use IO::Socket;
print "nom ou adresse IP du serveur (localhost par défaut) ";
$adresse= “jason”;
$socket = IO::Socket::INET->new(
PeerAddr => $adresse,
Proto => “tcp”,
PeerPort => 4200,
Type => SOCK_STREAM
)
or die “Connexion au serveur impossible.
”;
[quote]$socket = IO::Socket::INET->new(
PeerAddr => $adresse,
Proto => “tcp”,
PeerPort => 4200,
Type => SOCK_STREAM
)
or die “Connexion au serveur impossible.
”;[/quote]elle est la l erreur :
$socket = IO::Socket::INET ( # plus de ->new
PeerAddr => $adresse,
Proto => “tcp”,
PeerPort => 4200,
Type => SOCK_STREAM
)
[Wed Mar 31 13:53:25 2004] [error] [client 127.0.0.1] malformed header from script. Bad header=nom ou adresse IP du serveur (: c:/apache/cgi-bin/test.pl
avec en plus :
[Wed Mar 31 13:53:25 2004] [error] [client 127.0.0.1] Undefined subroutine &IO::Socket::INET called at c:apachecgi-bin est.pl line 9.
et pour ce code :
#!c:perlinperl.exe
use IO::Socket;
use IO::Socket::INET;
print "nom ou adresse IP du serveur (localhost par défaut) ";
$adresse= “jason”;
$socket = IO::Socket::INET(
PeerAddr => $adresse,
Proto => “tcp”,
PeerPort => 4200,
Type => SOCK_STREAM
)
or die “Connexion au serveur impossible.
”;
toujours cette erreur de bad header que je ne comprends pas
[Wed Mar 31 14:10:38 2004] [error] [client 127.0.0.1] malformed header from script. Bad header=nom ou adresse IP du serveur (: c:/apache/cgi-bin/test.pl
#!c:perlinperl.exe
use IO::Socket;
print "nom ou adresse IP du serveur (localhost par défaut) ";
$adresse= “****”;
$socket = new IO::Socket::INET (
PeerAddr => $adresse,
PeerPort => ****,
Proto => “tcp”,
Type => SOCK_STREAM
)
ouaip ca marche c juste que la je sois le faire par apache ^^
voila ce qu’il faut mettre pour que ca marche a peu pres ^^
#!c:perlinperl.exe
use IO::Socket;
print "Content-type: text/html
";
print “”;
print “”;
$adresse= “****”;
$socket = IO::Socket::INET->new(
PeerAddr => $adresse,
Proto => “tcp”,
PeerPort => ****
)
or die “Connexion au serveur impossible.
”;
$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
#############################################################
$ligne = “LOGIN **** ";
$ligne2 = "”;
print $socket $ligne;
print $socket $ligne2;
} else {
# c’est le père qui pendant ce temps écoute le serveur
#######################################################
if ($ligne2 = <$socket> {
print “serveur> $ligne1”;
print “serveur> $ligne2”;
}