Danjer | matthieu5978 a écrit :
Bonjour à toutes et tous
Code :
- use IO::Socket;
- $socket= IO::Socket::INET->new
- (
- PeerAddr => 'localhost',
- PeerPort => 4672,
- Proto => "UDP",
- Type => SOCK_STREAM
- )or die "impossible d'ouvrir le port.\n";
- $answer=<$socket>;
- print $answer;
|
je ne sais pas pourquoi mais quelque soit la configuration (port et url) mon programme me sort "impossible d'ouvrir le port" et mon firewall ne reagit meme pas (il ne doit donc pas etre sollicité).
|
Salut,
Le fond de ton probleme c'est surtout les parametres que tu mets pour IO::Socket::INET. Client ou Server ? Si tu utilise les mots clefs "Peer", tu fais un client. Si tu utilise les mots clefs Local, tu fais un serveur (je shematise, c'est pas vrai du tout ). En perl, tout est fait pour etre simple : Pas besoin d'en rajouter pour faire "cool".
Server.pl :
Code :
- #!/usr/bin/perl -w
- use strict;
- use IO::Socket::INET;
- my $sock = IO::Socket::INET->new(LocalPort => 4672,
- Proto => 'udp'
- )
- or die "Can't bind : $@\n";
- print "server up\n";
- while (<$sock> ) {
- print;
- }
|
Client.pl :
Code :
- #!/usr/bin/perl -w
- use strict;
- use IO::Socket::INET;
- my $sock = IO::Socket::INET->new(PeerPort => 4672,
- PeerAddr => 'localhost',
- Proto => 'udp',
- )
- or die "Can't bind : $@\n";
- while (<> ) {
- $sock->send($_);
- }
|
---------------
Cdl, Danjer
|