network.lib > PC WorX

reconnect bei IPCONTROL

(1/3) > >>

uweissbach:
Hallo,

ich benutze IP_CONTROL2 für einen TelnetServer.
Es soll sich jederzeit ein Client mit dem Server verbinden können,
ohne dass irgendwelche Timeouts auftreten.

Ich habe IP_C.C_MODE auf 4
IP_C.R_OBSERVE aud false und
IP_C.C_ENABLE auf true

Ich kann mich mit dem Client genau einmal verbinden.
Nach dem Trennen geht kein neuer Connect.
Muss da noch was re-initialisiert werden ??

peewit:
hallo

eine einzelne instanz deines programmes mit ip_control ermöglicht nur eine einzige verbindung zu einen client.

ich würde mal behaupten das dein client die verbindung nicht beendet !

wenn du nun deinen client einfach schliesst gibt es keine offizielle beendigung der verbindung
der port bleibt somit für deine ip_control instanz belegt.


ganz sicher könnten wir mit einen wireshark mitschnitt sehen was wirklich passiert.

welche sps und firmware hast du drauf

uweissbach:
Hallo Peewit,

Erst mal danke für die schnelle Antwort.

Es geht um Worx Epress 6.30.1202
ne Phoenix ILC131 mit FW 4.30

und du hast Recht, ich habe das gerade nochmal überprüft,
wenn der Client den Connect korrekt beendet, klappt der reconnect.
Aber es kann ja mal eine "unexpected" Trennung geben
(Client reboot oder Ethernet unterbrochen)
Was kann man dann tun?
Wäre ein Watchdog mit einer Art Heartbeat eine Lösung,
der dann einen Timeout erzeugt? und wenn ja, wie kille ich dann dann
die tote Verbindung im IP_CONTROL?

Gruß,

Uwe


peewit:
das problem ist das es bei einer telnet verbindung keine art lebenszeichen gibt
auche 5 minuten ohne irgendwas zu versenden kann so gewollt sein !

du kannst eine überwachung einbauen, wenn innerhalb einer zeit kein zeichen empfangen wird dann stoppst du die verbindung

z.b. die timeout zeit etwas höher setzen und  IP_C.R_OBSERVE = TRUE machen
dann sollte bei inaktivität ein receive timout fehler kommen und darauf kannst du IP_C.C_ENABLE kurz auf false und true setzen

ein notnagel ist wenn du mehr als eine telnet server instanzen betreibst
dann erhält wenn der eine belegt ist er andere die client anfrage....

und du merkst dann das problem nicht sofort

tcp verbindungen die über längere zeit ohne aktivität sind werden meines wissens irgendwann von der sps eliminiert.

 

uweissbach:
ok, das hilft mitr erst mal weiter,
vielen Dank...

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln