LibNoDave - Verbindung prüfen

Chefmech

Level-1
Beiträge
267
Reaktionspunkte
26
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab eine erste kleine Testapplikation mit LibNoDave entwickelt und das läuft auch soweit.

Verbindung über TCP...

Nun möchte ich zyklisch prüfen, ob die Verbindung noch läuft oder nicht. Bis jetzt merkt meine Applikation nicht, wenn ich das Netzwekkabel ausstecke und ein nächster Zugriff auf die SPS geht natürlich mächtig in die Hosen.

Kann ich den Verbindungsstatus abfragen? Hab keine entsprechende Funktion von LibNoDave gefunden, kann ich evtl. über den Socket-Handle irgenwelche Statusinformationen holen???
 
ja...

wenn du readbytes aufrufst kannst du ja den rückgabewert auswerten...
!=0 ist ein fehler...

kannst auch mal meinen libnodave datenbank protokoller und hochsprachen/opc ansehen, ich werte das auch aus !
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist schon so, nur nicht das was ich möchte.

Ich möchte das Netzwerk und die SPS nicht mit diesen "Sinnlosen" statusanfragen belasten.
Eigentlich sollte doch mein PC irgendwo auf der Netzwerkkarte wissen, ob die Verbidnung noch läuft oder nicht. Genau diesen Status möchte ich abfragen ohne eine Anfrage an die SPS zu schicken.

Also dachte ich mir, dass ich da auf der Socket-Ebene irgendie an diese Daten komme. Hab's versucht mit der Funktion GetPeerName(), welche mir die IP vom Verbindungspartner angeben sollte, falls eine Verbindung besteht - hat aber nicht hingehauen - getpeername bringt immer -1 zurück (keine Verbindung) auch wenn die Verbindung läuft...
 
Zurück
Oben