Thread [IO::Socket] Größe einer Nachricht
(13 answers)
Opened by pktm at 2011-05-09 16:11
Hi,
stat liefert "was" und danach kann das Handle gelesen werden, Beispiel: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 use strict; use IO::Socket; my $socket = new IO::Socket::INET ( PeerAddr => 'ptbtime1.ptb.de', PeerPort => 37, Proto => 'tcp' ) or die "Kein Socket bekommen!"; my @stat = stat($socket); print join "\n", @stat; read ($socket, my $buffer, 4); print unpack "N", $buffer; # seconds since 1.1.1900 Allerdings ist [7] auf 0. Guck Du mal bitte, ob [7] in Deinem Fall was liefert. Was Du auf den "Server" machen könntest (falls möglich): Einen "Header" senden, z.B. 4 Byte mit der Längenangabe. Das läuft dann so ab: 4 Byte lesen zum Ermitteln der Länge. Danach kann mit read() das komplette Socket gelesen werden, oder es wird halt gepuffert. --Rosti |