Thread Socket receive-Frage (35 answers)
Opened by H3llGhost at 2008-06-05 17:32

Gast Gast
 2008-06-10 18:32
#110948 #110948
Gast+2008-06-09 13:46:03--
Also an deiner Stelle würde ich IO::Socket::INET verwenden, im Prinzip sollte folgendes funktionieren:
Code (perl): (dl )
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
#!/usr/bin/perl

use strict;
use warnings;

use IO::Socket::INET;

print "create socket..\n";

my $sock = IO::Socket::INET->new(
        'PeerAddr'      => '***.***.***.***',
        'PeerPort'      => '27501',
        'Proto'         => 'udp',
);

print "send data request..\n";

$sock->send( "\xff\xffZ\xff" );

print "answer:\n";

while ( my $rc = $sock->recv( my $buffer, 1024 ) )
{
        print $buffer;
} # while

<STDIN>;

__END__

Auf timeouts wird hier nicht reagiert, kannste aber schnell nachrüsten.

MfG


//ModEdit GwenDragon: IP anonymisiert


Danke für die Antwort ... ;)
Habe es nun wie folgt angepasst, aber leider kommt keine Antwort an ...
Und bei IP muss ja die IP vom Empfänger rein oder?!

Code: (dl )
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
#!/usr/bin/perl

use strict;
use warnings;

use IO::Socket::INET;

print "create socket..\n";

my $sock = IO::Socket::INET->new(
'PeerAddr' => '*.*.*.*',
'PeerPort' => '27501',
'Proto' => 'udp',
);

print "send data request...\n";
my $msg = chr(0xff).chr(0xff)."Z".chr(0xff);

my $bytes = $sock->send($msg);
print "send $bytes bytes ...\n\n";
print "answer:\n";

while ( my $rc = $sock->recv( my $buffer, 1024 ) )
{
print $buffer;
} # while

<STDIN>;

__END__


Ist das richtig so?!

View full thread Socket receive-Frage