From bd8f799af4fd6d61a5cef8b4faa6789fcb5e2b76 Mon Sep 17 00:00:00 2001 From: Sascha Schulz <sschulz@dh-software.de> Date: Mo, 30 Sep 2024 16:21:13 +0200 Subject: [PATCH] add tcp server and client chapter --- index.html | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 55 insertions(+), 0 deletions(-) diff --git a/index.html b/index.html index 7c8aa23..4c43305 100644 --- a/index.html +++ b/index.html @@ -4310,6 +4310,61 @@ </code> </pre> </section> + <section> + <h3>TCP-Verbindungen</h3> + </section> + <section> + <ul> + <li>Bidirektionale Verbindung</li> + <li>Duplexfähig</li> + <li>Besteht immer aus Server- und Client-Socket</li> + </ul> + </section> + <section> + Mit dem nativen Modul <code>net</code> ist es möglich, eine TCP-Verbindung aufzubauen + <pre> + <code class="js" data-trim data-line-numbers> + /* Server */ + const net = require("net"); + + const server = net.createServer((socket) => { + + // new incoming connection + socket.on("data", (data) => { + // data is a buffer + }); + + socket.write("Hello World!"); + }); + + server.listen(3000); + </code> + </pre> + </section> + <section> + <pre> + <code class="js" data-trim data-line-numbers> + /* Client */ + const net = require("net"); + + const socket = net.connect(3000, () => { + // 'connect' listener + }); + + socket.on("data", (data) => { + // data is a buffer + }); + </code> + </pre> + </section> + <section> + <p>Aufgabe</p> + <p>Implementiere die Clientlogik in der <code>tcp-client.js</code>, um dem Server ein <code>"Hello Server!"</code> zurück zu senden</p> + </section> + <section> + <p>Aufgabe</p> + <p>Sende eine festgelegte Datei vom Server zum Client. Der Server liest die Datei ein und sendet die Inhalte zum Client, welcher diese wiederum in eine Zieldatei schreibt. Eventuell darf auch noch eine Kompression mittels Zip / Deflate implementiert werden.</p> + </section> </section> </div> </div> -- Gitblit v1.9.3