Thread WebSocket Server tut nicht
(3 answers)
Opened by Xorg1990 at 2013-08-04 11:58
Hi, ich habe ein Problem mit dem Modul Net::WebSocket::Server.
Ich wollte eine TCP Verbindung „anzapfen“ und die Daten in eine WebSockt Verbindung schreiben als Stream sozusagen. Mit folgenden Code greife ich auf die TCP Verbindung zu: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 $socket = new IO::Socket::INET ( PeerHost => '127.0.0.1', PeerPort => '3000', Proto => 'tcp', ) or die "ERROR in Socket Creation : $!\n"; print "TCP Connection Success.\n"; #while (sysread($socket, $byte, 1)== 1) { # print STDOUT $byte; # } Das funktioniert soweit. Nun will ich die while schleife in Net::WebSocket::Server ausführen, aber das funktioniert nicht. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 Net::WebSocket::Server->new( listen => 5000, silence_max => 0, on_connect => sub { my ($serv, $conn) = @_; $conn->on( binary => sub { while (sysread($socket, $byte, 1)== 1){ $conn->send_binary($byte) for $conn->server->connections; } }, ); }, )->start; Das Problem habe ich schon erkannt, die Schleife wird bei "binary" ausgeführt und da es eine Endlosschleife ist kommt der Perl Interpreter nicht bi zu ->start. Wie könnte man das am besten lösen? Vor lauter ->, =>, sub{}, Blicke ich hier nicht mehr durch. |