Moin moin,
so, nachdem ich nun mein frisches Wiregate hier liegen habe stellen sich gleich ein paar hoffentlich nicht zu komplizierte Fragen :-)
Meine FritzBox gibt über Telnet IP.IP.IP.IP:1012 raus, was gerade so in der Anlage passiert.
Wenn man das per Putty anwirft steht da z.B. für einen Hotline-Anruf bei den Jungs mit dem mangentafarbenen T:
Ich habe also nach Anleitung zunächst einen Socket eingerichtet:

Und folgendes Plugin geschrieben (naja, hauptsächlich zusammenkopiert):
Es tut aber nicht was es soll und ich habe die leise Befürchtung, ich habe das Grundprinzip nicht ganz verstanden... Kann das evtl. jemand verständlich erklären mit den Sockets?
Warum muss ich erst unter "Sockets" etwas anlegen und mich dann im Plugin darauf beziehen?
Wie komme ich an die Daten, die ich über Telnet geschickt bekomme?
Vielen Dank für jede Hilfe und schöne Grüße
Christian
so, nachdem ich nun mein frisches Wiregate hier liegen habe stellen sich gleich ein paar hoffentlich nicht zu komplizierte Fragen :-)
Meine FritzBox gibt über Telnet IP.IP.IP.IP:1012 raus, was gerade so in der Anlage passiert.
Wenn man das per Putty anwirft steht da z.B. für einen Hotline-Anruf bei den Jungs mit dem mangentafarbenen T:
04.05.12 11:21:43;CALL;1;4;979434;08003301000;ISDN;
04.05.12 11:21:45;CONNECT;1;4;08003301000;
04.05.12 11:21:50;DISCONNECT;1;5;
04.05.12 11:21:45;CONNECT;1;4;08003301000;
04.05.12 11:21:50;DISCONNECT;1;5;
Und folgendes Plugin geschrieben (naja, hauptsächlich zusammenkopiert):
Code:
my $socknum = 20; # Eindeutige Nummer des Sockets +1 my $send_ip = "localhost"; # Sendeport (UDP, siehe in Socket-Einstellungen) my $send_port = "50134"; # Sendeport (UDP, siehe in Socket-Einstellungen) my $recv_ip = "localhost"; # Empfangsport (UDP, siehe in Socket-Einstellungen) my $recv_port = "50135"; # Empfangsport (UDP, siehe in Socket-Einstellungen) if (!$socket[$socknum]) { # socket erstellen $socket[$socknum] = IO::Socket::INET->new(LocalPort => $recv_port, Proto => "udp", LocalAddr => $recv_ip, PeerPort => $send_port, PeerAddr => $send_ip, ReuseAddr => 1 ) or return ("open of $recv_ip : $recv_port failed: $!"); $socksel->add($socket[$socknum]); # add socket to select $plugin_socket_subscribe{$socket[$socknum]} = $plugname; # subscribe plugin return "opened Socket $socknum"; plugin_log($plugname,'Soket verbunden. Soketnummer: ' . $socknum); } elsif ($fh) { # Readline from USBSERIAL my $sockInfo .= 'Ausgabe: '; my $cnt = 0; my $line; $line = <$fh>; return $line; }
Warum muss ich erst unter "Sockets" etwas anlegen und mich dann im Plugin darauf beziehen?
Wie komme ich an die Daten, die ich über Telnet geschickt bekomme?
Vielen Dank für jede Hilfe und schöne Grüße
Christian
Kommentar