Thread pack/unpack Daten von Socket (27 answers)
Opened by monti at 2012-11-22 19:47

monti
 2012-11-23 10:01
#163543 #163543
User since
2011-08-05
57 Artikel
BenutzerIn
[default_avatar]
Ah, das würde einiges erklären. Ich schließe daraus, dass mein kleines Server Skript also nicht mit binary Daten arbeitet....

Bisher benutze ich so ein konstrukt:

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
31
32
33
34
35
my $listen_socket = IO::Socket::INET->new( Listen => 1,
LocalPort => $tcpport,
LocalHost => $tcphost,
Proto => 'tcp',
Blocking => 0,
) or die "Error during creation of listening socket: $!\n";

my $select = new IO::Select($listen_socket);

while (my @ready = $select->can_read)
{
foreach my $connection (@ready)
{
if ($connection == $listen_socket)
{
my $client = $listen_socket->accept();
$select->add($client);
$data = <$connection>;
}
else
{
$data = <$connection>;
if ($data)
{
#macht irgendwas
}

else
{
$select->remove($connection);
close($connection);
}
}
}
}


Das arbeitet wie gesagt tadellos wenn ich direkt Text empfange.
Gibt es eine (simple) möglichkeit das umzustricken und mit binärdaten zu arbeiten? Oder wird der Aufwand dann monströs?

Danke!

View full thread pack/unpack Daten von Socket