Skip to content

Conversation

@bafto
Copy link
Member

@bafto bafto commented Apr 19, 2025

Diese PR fügt Duden/Netzwerk (und einige kleine Fixes) zur low-level TCP/UDP Socket Kommunikation hinzu.
Das Modul ist an das socket packet aus Python angelehnt.

Ein simpler TCP echo Server sieht so aus:

Binde "Duden/Netzwerk" ein.
Binde "Duden/Fehlerbehandlung" ein.
Binde "Duden/Texte" ein.
Binde "Duden/Ausgabe" ein.

Schreibe ab jetzt alle Fehler.

Der Socket sock ist ein TCP Socket.

Setze sock auf "localhost" 8080.
Lass sock auf maximal 1 Verbindung warten.

Der Socket verbindung ist die nächste Verbindung auf sock.
Schreibe "Verbindung erhalten" auf eine Zeile.

Schließe sock.

Solange es dabei keinen Fehler gab, mache:
    Der Text daten ist maximal 1024 Bytes aus verbindung.
    Schreibe daten.
    Wenn daten leer ist, dann:
        Schreibe "Verbindung geschlossen" auf eine Zeile.
        Verlasse die Schleife.
    Sende daten über verbindung.

Schließe verbindung.

Und für UDP:

Binde "Duden/Netzwerk" ein.
Binde "Duden/Fehlerbehandlung" ein.
Binde "Duden/Ausgabe" ein.

Schreibe ab jetzt alle Fehler.

Der Socket sock ist ein UDP Socket.

Setze sock auf "localhost" 8080.

Solange es dabei keinen Fehler gab, mache:
    Die KlientenAddresse klient ist eine ungefüllte KlientenAddresse.
    Der Text nachricht ist das nächste maximal 1024 Bytes große Packet aus sock von klient.
    Schreibe nachricht.
    Wenn nachricht gleich "ende" ist, dann:
        Schreibe "Verbindung geschlossen" auf eine Zeile.
        Verlasse die Schleife.
    Sende nachricht über sock an klient.

Schließe sock.

@bafto bafto requested a review from NotLe0n April 19, 2025 09:18
@bafto bafto requested review from NotLe0n and removed request for NotLe0n April 26, 2025 14:10
Copy link
Member

@NotLe0n NotLe0n left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Die Code-Struktur Object obj = new Object() wie in Der Socket sock ist ein TCP Socket. gefällt mir noch nicht ganz, aber dafür müssten wir uns erst schönen Syntaxzucker überlegen um sowas umzuschreiben und deklarativer machen.

@bafto bafto merged commit 599692a into dev May 11, 2025
6 checks passed
@NotLe0n NotLe0n deleted the network branch May 11, 2025 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants