Clientsocket Probleme seit Package Umstellung

Begonnen von CoolTux, 26 März 2019, 14:57:23

Vorheriges Thema - Nächstes Thema

CoolTux

Hallo,

Leider lässt sich das Problem/die Beobachtung nur sehr schwer erklären.
Seit ich mein Modul 82_LGTV_WebOS auf package umgestellt habe (sowohl LGTV_WebOS als auch FHEM::LGTV_WebOS) kommen keine Daten mehr über den Clientsocket.
Es ist schwer zu beschreiben. Die ReadFn wird immer aufgerufen, diese stellt fest das keine Daten vorhanden sind und schließt darauf hin die Verbindung



sub Open($) {

    my $hash    = shift;
    my $name    = $hash->{NAME};
    my $host    = $hash->{HOST};
    my $port    = 3000;
    my $timeout = 0.1;

    Log3 $name, 4, "LGTV_WebOS ($name) - Baue Socket Verbindung auf";

    my $socket = new IO::Socket::INET(
        PeerHost => $host,
        PeerPort => $port,
        Proto    => 'tcp',
        Timeout  => $timeout
      )
      or return Log3 $name, 4,
      "LGTV_WebOS ($name) Couldn't connect to $host:$port";    # open Socket

    $hash->{FD} = $socket->fileno();
    $hash->{CD} = $socket;             # sysread / close won't work on fileno
    $selectlist{$name} = $hash;
...
...
...
}





[code]
sub Read($) {

    my $hash = shift;
    my $name = $hash->{NAME};

    my $len;
    my $buf;

    Log3 $name, 4, "LGTV_WebOS ($name) - ReadFn started";

    $len = sysread( $hash->{CD}, $buf, 10240 );

    if ( defined($len) and $len == 0 ) {

        Close($hash);

        return;
    }
.....
.....
....




sub Close($) {

    my $hash = shift;
    my $name = $hash->{NAME};

    return if ( !$hash->{CD} );

    close( $hash->{CD} ) if ( $hash->{CD} );
    delete( $hash->{FD} );
    delete( $hash->{CD} );
    delete( $selectlist{$name} );

    readingsSingleUpdate( $hash, 'state', 'off', 1 );
...
...
...
}


Dies geschieht in einer Endlosschleife.

ABER!!!
So bald ich ein reload 82_LGTV_WebOS mache kommen sofort Daten an und die Verbindung bleibt stabil.

Hat jemand schon mal eine solche Beobachtung gemacht oder kann mir jemand Tipps geben wo ich mit einer Suche anfangen kann?


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Loredo

ich hab da keine Idee zu, tut mir leid :-(
Bin selbst halb Blinder, wenn es um SubProcess.pm geht...
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

CoolTux

Zitat von: Loredo am 10 April 2019, 20:53:32
ich hab da keine Idee zu, tut mir leid :-(
Bin selbst halb Blinder, wenn es um SubProcess.pm geht...

Danke Dir fürs anschauen. Entweder teste ich einmal mit DevIo oder ich lasse es mit dem Package bei dem Modul.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net