UDp Verbindungscheck

Hallo,

besteht die Möglichkeit zu überprüfen, ob die Verbindung um Server oder Client noch aufgebaut ist?

habe jetzt eine Verbindung aufgebaut und will überprüfen, ob diese noch besteht; Wenn ja soll nichts unternommen werden, wenn nein soll eine LED angehen.

mit Udp.available() hat es nicht so funktioniert. Da hat das Programm gestoppt.

Fkcm95:
Hallo,

besteht die Möglichkeit zu überprüfen, ob die Verbindung um Server oder Client noch aufgebaut ist?

habe jetzt eine Verbindung aufgebaut und will überprüfen, ob diese noch besteht; Wenn ja soll nichts unternommen werden, wenn nein soll eine LED angehen.

mit Udp.available() hat es nicht so funktioniert. Da hat das Programm gestoppt.

UDP ist ein verbindungsloses Protokoll, bei dem überhaupt keine Verbindung aufgebaut wird. UDP sendet nur Datenpakete zwischen IP-Adressen hin und her. Dazu braucht es nur eine Netzwerk-Route, aber keine"aufgebauteVerbindung" zum Empfänger. Zum Testen einer Netzwerk-Route brauchst du einen UDP-Sender , der ein UdP-Paket sendet und einen UDP-Empfänger, der erhaltene Pakete mit einem Antwortpaket beantwortet. Der InternetZeitdienst NTP arbeitet mit UDP-Paketen auf UDP-Port 123.Network Time Protocol – Wikipedia

"Verbindungen" spielen eine Rolle bei TCP/IP, wie es beipielsweise für HTTP verwendet wird. UDP arbeitet verbindungslos und nur mit Datenpaketen zwischen IP-Adressen.

hi,

naja, verbindungslos ist in diesem zusammenhang richtig, weil so eingeführt, aber irreführend.

bei einer "verbindungslosen" verbindung, wird diese nur in einer richtung hergestellt, der angesprochene antwortet nicht, deshalb ist auch keine echte fehlerbehandlung (durch erneutes senden des fehlerhaften pakets) möglich.

verbindungsorientiert, das gegenteil, stellt die verbindung in beiden richtungen her. der empfänger informiert den sender, was richtig angekommen ist, und dieser sendet bei bedarf nochmal.

in beiden fällen wird die verbindung nach der sendung getrennt. willst Du wieder was schicken, wird eine neue verbindung aufgebaut (in eine oder eben zwei richtungen).

eine recht neue ausnahme bildet ein node.js-server. da wird eine verbindung aufgebaut und beibehalten. in dieser unbeschränkten zeit können sowohl server als auch client unaufgefordert daten über die bestehende verbindung schicken. es können auch mehrere clients gleichzeitig mit denselben daten beschickt werden.

gruß stefan

Eisebaer:
eine recht neue ausnahme bildet ein node.js-server. da wird eine verbindung aufgebaut und beibehalten. in dieser unbeschränkten zeit können sowohl server als auch client unaufgefordert daten über die bestehende verbindung schicken. es können auch mehrere clients gleichzeitig mit denselben daten beschickt werden.

Als Ergänzung: Websockets stellen auch Vervindungen dar, die geöffnet bleiben, so dass der Server seinerseits Infos an den Browser senden kann, der den Websocket aufgebaut hat.

Gruß Tommy

hi,

klar, node.js ist ja ein server, der websockets verwendet…

ich kenne keine andere anwendung, die das macht, deswegen war meine antwort so formuliert.

gruß stefan

Ich verwende Websockets ganz gern in Verbindung mit Arduino/NodeMCU um im Browser Werte anzuzeigen.
Da können beide Seiten unabhängig voneinander Senden. Z.B. Kann die MC-Seite dem Browser neue Werte rüber reichen, wenn sich was geändert hat, ohne dass der Anfragen muss. Finde ich ganz praktisch.

Gruß Tommy