+ Antworten
Seite 1 von 3 1 2 3 LetzteLetzte
Ergebnis 1 bis 10 von 22
  1. #1
    Registriert seit
    Dec 2006
    Ort
    Delmenhorst
    Beiträge
    185

    Standard Client Socket, wurden Daten empfangen?

    Vielleicht hat jemand ja eine Idee:

    Wie kann ich ermitteln, ob in den letzten xx Minuten was von einem Client Socket empfangen wurde?

    Am liebsten wäre mir ein Event am Client Socket, welcher jede Minute nachsieht und bei Bedarf den Port schließt und wieder öffnet.

    das Öffnen/Schließen ist kein Problem, nur die Abfrage, ob Daten in letzter Zeit empfangen wurden, bereitet mir Probleme.
    mfg

    Michael Scholze

  2. #2
    Registriert seit
    Feb 2007
    Ort
    Zwickau
    Beiträge
    5,483

    Ich würde das mit einer RegisterVariable versuchen.
    MfG Thomas

    Eaton Xcomfort|FS20|1-Wire|Axis WebCams|WMRS200 Wetterstation|Funksystem-868|Gas und Wasserzähler per S0 1-Wire|E-Zähler per OKK+seriell2LAN Adapter|Amazon Alexa|
    Visu auf: 10"Touchscr.|Apple iPod Touch|Apple iPhone|Apple iPad|IPS V5.x|Dashboard|WebFront|iFront


  3. #3
    Registriert seit
    Dec 2006
    Ort
    Delmenhorst
    Beiträge
    185

    Hab ich auch schon gedacht, aber ich würde das gerne direkt am Socket machen, am liebsten mit den Events an der Socket-Instanz...
    mfg

    Michael Scholze

  4. #4
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    21,451

    Warum sollte das nötig sein? Normalerweise erkennt IPS alleine, wenn ein Socket gestorben ist und verbindet sich neu.

    paresy

  5. #5
    Registriert seit
    Dec 2006
    Ort
    Delmenhorst
    Beiträge
    185

    Genau das ist mein Problem.
    Ich Benutze ein Client Socket, um eine Verbindung zu einem Lantronix UDS2100 aufzubauen. Dies ist ein RS232/Ethernet Wandler. Die Empfangenen Daten können über den TCP-Port 10001 Empfangen werden.

    Dies funktioniert an sich sehr gut, aber wenn ich die TCP-Verbindung únterbreche oder das Gerät neu startet, so merkt der Client Socket das nicht. Es gibt kein Error oder ähnliches. Es kommen nur keine Daten mehr an. Ich muss dann den Socket des Client Socket trennen und erneut Verbinden. Dann funktioniert das wieder.

    Das ist mein Problem, was eigendlich nicht sein dürfte...
    mfg

    Michael Scholze

  6. #6
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    4,866

    Wenn der Device-Server noch andere Ports im Netz anbietet (z.b. Port 80 für Webinterface) könntest Du über eine PHP-Portabfrage regelmäßig prüfen ob das Teil noch Online ist. So nach dem Strickmuster:

    PHP-Code:
    $IP IP-Adresse
    $Port 
    Port Nummer

    @$s fsockopen($IP$Port$errno$errstr1);
       if (!
    $s) {
          echo 
    "Gerät nicht erreichbar";
       }
    else {
          echo 
    "Gerät Online.";
       }
    fclose($s); 
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.3 auf Server 2016 / HM mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 241 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / PlugWise / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  7. #7
    Registriert seit
    Dec 2006
    Ort
    Delmenhorst
    Beiträge
    185

    Das ist möglich, aber nur als Notlösung anzusehen.
    Fakt ist, entweder reconnected der Port von alleine oder er muss ein Fehlerstatus anzeigen.

    Alles andere ist gefrickel...
    mfg

    Michael Scholze

  8. #8
    Registriert seit
    Jan 2007
    Ort
    Nidda(Hessen)
    Beiträge
    7,330

    Geändert von RWN (06.07.11 um 20:01 Uhr)
    Gruß Rainer


    Unmögliches wird sofort erledigt, Wunder dauern etwas länger.


  9. #9
    Registriert seit
    Dec 2006
    Ort
    Delmenhorst
    Beiträge
    185

    Wir reden aneinader vorbei!

    Das Problem ist nicht, wie ich den Portzustand ermitteln kann => Port im Fehlerzustand (Rotes Ausrufezeichen).

    In meinem Fall ist der Client Socket NICHT im Fehlerzustand, funktioniert aber nicht. Dies Passiert, wenn das Entgerät kurzzeitig keine Verbindung hatte (LAN-Kabel unterbrochen) oder neu gestartet wurde. Die TCP-Session ist definitiv nicht mehr vorhanden. Der Client Socket Port geht aber nicht in den Fehlerzustand oder baut die Verbindung erneut auf. Erst durch manuelles trennen und neuverbinden funktioniert die Client Socket Instanz wieder.

    Es hilft daher nicht den Status des Client Sockets abzufragen: der ist immer "OK".
    mfg

    Michael Scholze

  10. #10
    Registriert seit
    Jan 2007
    Ort
    Nidda(Hessen)
    Beiträge
    7,330

    Bei meinen Client-Socket funktioniert das. Wenn ich den Endgeräten den Saft klaue oder die Verbindung kappe geht der Socket auf Fehler, so wie es sein soll. Erst Dunkel grau, dann Rot.
    Gruß Rainer


    Unmögliches wird sofort erledigt, Wunder dauern etwas länger.


Ähnliche Themen

  1. Neues Interface FHT 8I
    Von RWN im Forum Sonstige Funkkomponenten / Wetterstationen
    Antworten: 108
    Letzter Beitrag: 11.01.12, 00:27
  2. Paket Senden nach IP#xxx.xxx.xxx.xxx OHNE (fix eingestellten) Client Socket?
    Von jwka im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 6
    Letzter Beitrag: 05.07.10, 22:18
  3. Fehler Client Socket und Speicher
    Von coolice im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 2
    Letzter Beitrag: 17.09.09, 12:38
  4. Client Socket (Offline) anlegen
    Von DanB im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 2
    Letzter Beitrag: 17.09.09, 11:38
  5. Client Socket Reset?!
    Von PeterChrisben im Forum Skripte, PHP, SQL
    Antworten: 3
    Letzter Beitrag: 24.08.09, 20:12