August 20, 2025

Nachrichten flexibel verteilen

symolo dmb server

Weiterlesen
Dezember 2, 2021

Wieviel Pixel ist in einem Millimeter?

3 Satz in der Praxis

Weiterlesen
April 11, 2021

Ist das Kunst oder kann das weg?

Shadertoy - shading online

Weiterlesen
April 1, 2021

Business in Zeiten von Cornona

Weiterlesen
Cover Image

Nachrichten flexibel verteilen

symolo dmb server

August 20, 2025 - Lesezeit: 5 Minuten

Das Problem mit klassischer Nachrichtenverteilung

Wer schon einmal Systeme gebaut hat, bei denen viele Clients gleichzeitig Nachrichten empfangen und verarbeiten sollen, kennt das Problem: Wie verteile ich Messages effizient, ohne dass ein zentraler Server jede Nachricht individuell zustellen muss? Oft wird dabei auf klassische Message-Broker wie Kafka, RabbitMQ oder MQTT gesetzt. Diese bringen aber ihre eigene Komplexität mit – Setup, Konfiguration, Rechte- und Themenverwaltung. Für viele Szenarien, in denen man einfach nur schnell und flexibel Daten „in die Runde werfen“ möchte, sind solche Schwergewichte schlicht überdimensioniert.

Genau hier setzt der dynamic messaging broadcast server von Symolo an: Ein einfacher Ansatz, Nachrichten über TCP-Sockets (genauer gesagt WebSockets) an viele Teilnehmer gleichzeitig zu verteilen.

Besonderheit: TCP statt UDP-Broadcast

Ein wichtiger Unterschied zu klassischen Broadcast-Mechanismen liegt in der Wahl des Protokolls: TCP. Während UDP-Broadcasts nur innerhalb eines lokalen Netzwerks funktionieren – also typischerweise nicht über Routergrenzen hinweg –, ermöglicht TCP die Kommunikation über das Internet hinweg.

Das bedeutet:

  • UDP-Broadcast ist auf ein Subnetz beschränkt (praktisch für lokale Service Discovery, aber nicht für weltweite Kommunikation).
  • TCP hingegen stellt eine zuverlässige, verbindungsorientierte Kommunikation sicher – und funktioniert genauso gut innerhalb eines LANs wie zwischen Clients auf verschiedenen Kontinenten.

Dadurch ist es möglich, dass sich beliebige Teilnehmer – unabhängig von ihrem Standort – in die Nachrichten-Pipeline „reinhängen“ und sofort Teil des Systems werden.

Integration in den Symolo DSF-Server

Ein weiterer Vorteil: Das Tool ist bereits fester Bestandteil des Symolo DSF-Servers. Das bedeutet, bei jeder Installation des DSF-Servers steht die Nachrichten-Pipeline sofort zur Verfügung – ohne zusätzlichen Setup-Aufwand oder externe Abhängigkeiten. Entwickler und Administratoren müssen nichts weiter konfigurieren, sondern können direkt nach der Installation Clients anbinden, Filter setzen und Nachrichten verteilen. Damit wird die Funktion nahtlos in bestehende Symolo-Workflows integriert und ist „out of the box“ einsatzbereit.

Wie funktioniert das?

Die Grundidee ist simpel:

  • Jeder Client verbindet sich über einen WebSocket mit dem Server.
  • Nach der Authentifizierung „hört“ er auf die Nachrichten, die in die „Pipe“ eingespeist werden.
  • Jede Nachricht (außer Befehle, die mit / beginnen) wird an alle Clients verteilt.
  • Die Clients selbst entscheiden dann mithilfe von Filtern, ob sie eine Nachricht weiterverarbeiten wollen oder nicht.

Das Besondere: Jeder, der verbunden ist, kann nicht nur empfangen, sondern auch senden. Dadurch entsteht ein sehr flexibles Kommunikationsmodell, das sowohl für Debugging, Event-Streaming als auch für kollaborative Anwendungen nützlich ist.

Konkretes Beispiel

Sehen wir uns an, wie ein Client aussieht, der sich mit dem Symolo-Server verbindet:

const dmbLogger = new WebSocket("wss://<MEINSERVER>/dmb");

dmbLogger.onopen = () => {
    dmbLogger.send("123"); // Erst Authentifizierung mit Passwort
};

dmbLogger.onmessage = (d) => {
    // Nach erfolgreicher Authentifizierung
    if (d.data === "Welcome") {
        // Filter setzen – in diesem Fall nur Nachrichten, die mit "MDE" beginnen
        dmbLogger.send("/filter.add>MEINFILTER");
    }
    // Ab jetzt kommen gefilterte Nachrichten an
    if (d.data.startsWith("MEINFILTER")) {
        const msgSplit = d.data.split('|');
        console.log("Gefilterte Nachricht:", msgSplit);
    }
};

Was passiert hier?

  1. Verbindung & Authentifizierung Der Client verbindet sich mit wss://<MEINSERVER>/dmb und sendet als Erstes ein Passwort.

  2. Willkommensnachricht Der Server bestätigt den erfolgreichen Login mit "Welcome".

  3. Filter setzen Anschließend legt der Client fest, welche Nachrichten er empfangen möchte (z. B. /filter.add>MDE).

  4. Nachrichten empfangen & verarbeiten Alle Nachrichten, die mit MEINFILTER beginnen, landen nun im Client, werden geparst und können beliebig weiterverarbeitet werden.

Fazit

Mit diesem Ansatz gelingt es Symolo, ein leichtgewichtiges, flexibles Nachrichtenverteilungssystem bereitzustellen, das ganz ohne schwerfällige Broker-Lösungen auskommt. Jeder Client kann gleichzeitig Sender und Empfänger sein, und durch die Filterlogik bleibt die Datenflut dennoch kontrollierbar.

Besonders spannend ist der Einsatz von TCP statt UDP-Broadcast: Nachrichten können nicht nur im lokalen Netz, sondern auch problemlos über das Internet verteilt werden – ohne auf spezielle Netzwerk-Setups angewiesen zu sein.

Ob für Debugging, Monitoring oder den schnellen Aufbau von Echtzeitkommunikation – dieses Modell zeigt, wie einfach Messaging über TCP-Sockets sein kann.


Cover Image

Wieviel Pixel ist in einem Millimeter?

3 Satz in der Praxis

Dezember 2, 2021 - Lesezeit: 15 Minuten

Wer wollte nicht schon immer mal wissen wie viele Pixel eigentlich ein Millimeter sind? Die Frage lässt sich leider nicht ganz eindeutig beantworten, da es immer von der DPI abhängt. Also der Pixeldichte. Bei einem Monitor ist diese Dichte normalerweise deutlich weniger als bei einem Ausdruck auf Papier. Aber auch da gibt es Unterschiede, wenn ich z.B. ein Foto ausdrucken möchte. Da ich momentan viele Ausdrucke designe und leider aufgrund der Umstände häufig nicht vor dem betreffenden Drucker stehen kann, um mir das Ergebnis anzusehen bin ich gezwungen das Ganze auf dem Reisbrett vorher schon mal durchzuspielen und dem Kunden am besten ein PDF mit seiner Anforderung zum Testen schicken kann. Ein PDF hat den Vorteil, dass der Ausdruck wie designt ausgedruckt werden kann. Inklusive Schriftarten und Bildern. Nur die Abmessung sollte man vorher kennen, damit man das Ganze noch richtig zurechtschieben kann. Ein Kunde nennt aber im Normalfall Millimeter als Maß. Das ist beim Designen meistens hinderlich, da das ein permanentes Umrechnen erfordert, wenn es darum geht kleinere Korrekturen mit statischen Werten vorzunehmen. Wenn man das Design bereits mit Pixelwerten durchführt, übernimmt der Drucker die Rückrechnerei später für uns. Damit der Kunde weiterhin mit dem Lineal messen kann und ich bereits im Vorfeld pixelperfekte Layouts liefern möchte hab ich einen kleinen Umrechner geschrieben, der es mir ermöglich mit meiner Entwicklung im Bereich der Pixel Schalten und Walten zu können, aber auf die Wunschmaße nicht verzichten zu müssen.

Das Tool ist erreichbar unter:

mm in px

Und reiht sich wunderbar in die Liste der anderen Tools ein. Auch dieses Tool kann man sich, wenn es öfter gebraucht wird, einfach als APP verknüpfen.


Cover Image

Ist das Kunst oder kann das weg?

Shadertoy - shading online

April 11, 2021 - Lesezeit: 3 Minuten

Shader sind Bausteine einer Grafikkarte, mit der der Pixel, der auf den Bildschirm angezeigt werden soll, nachbearbeitet werden kann. Jeder Pixel wird hierbei durch eine Pipeline geschoben und kann dabei sozusagen nochmal nachgearbeitet werden. Dieses Post Processing kann Wasser realistischer aussehen lassen oder Lava zusätzlich zum glühen bringen. Diese Shader werden mithilfe einer eigenen Programmiersprache implementiert. Dazu schreibt man einen Shader und lädt diesen dann in die Grafikkarte. Meistens nutzt man dafür eine Api wie OpenGL oder DirectX.

blub.png

Nun kann man sich natürlich die Erzeugung eines Bildes zum Anzeigen und Nachbearbeiten auch sparen und einfach direkt die Pixel manipulieren und damit dann eine Bildschirmausgabe erzeugen. Da der Shadercode immer auf jeden einzelnen Pixel auf dem Bildschrim angewendet werden muss (das sind bei einer HD-Auflösung 3000 Pixel pro Frame), muss die Implementierung effizient sein. In der Demoszene hat sich eine ganze Disziplin daraus entwickelt. Da das Manipulieren von Pixeln am einfachsten ist wenn man es mathematisch beschreibt, kommt man bei der Programmierung um Mathe nicht drum herum. Aber dafür wird man mit hinreißenden Bildern und Effekten belohnt.

penrose.png

Auch ein Browser kann mithilfe von WebGL entsprechende Inhalte repräsentieren. Damit kann man die Shader direkt in eine Website laden und anzeigen. Entsprechende Hardware vorrausgesetzt. Auf Shadertoy wird genau das möglich. Man kann die fertigen Shader sogar in die eigene Homepage einbetten. Auf dieser Website kann man sich auch den Quelltext jedes Shaders ansehen und gegebenenfalls sogar noch etwas lernen. Mathe hat noch nie soviel Spass gemacht.

IO.png

Wenn man mal sehen will, was mit aktuellen Grafikarten machbar ist und sich verzaubern lassen möchte, sollte man mal einen Blick riskieren. Also ich werde jetzt nochmal meine Mathekenntnisse auffrischen und auch ein bisschen zaubern.


Cover Image

Business in Zeiten von Cornona

April 1, 2021 - Lesezeit: ~1 Minute

Unsere Geschäftswelt hat sich gewandelt. In Zeiten von Covid-19 haben online-Termin-Tools mit Live-Übertragung per Webcam einen Boom erfahren. So trifft man sich eben vor dem Monitor, anstatt persönlich zusammen zu sitzen und zu meeten. 

Ja, diese Entwicklung ist positiv zu sehen, da, sie uns und unsere Gesprächspartner schützt. Aber, wie sieht es mit den negativen Aspekten aus?

Wir, als IT-Firma stellen fest, dass viele Informationen untergehen, da man nicht mal dem Mitarbeiter über die Schulter schauen kann. Mitarbeiter benutzen Prozesse nach einiger Zeit intuitiv und auf Nachfrage, in welchem Prozesschritt es Probleme gibt, werden oft ungenaue oder falsche Aussagen getroffen.

Oft kann ein Mitarbeiter nicht sagen, was er gemacht hat als ein Fehler auftrat. Sind wir jedoch beim Kunden vor Ort, kann man einfach sagen: Ich schaue es mir einmal an und man kann dem Kunden über die Schulter sehen.

Auch sieht man vor Ort oft Optimierungspotenzial, das es gibt und den Mitarbeitern oder ihren Vorgesetzen aufgrund von Stress und Routine gar nicht auffällt.

Wir schätzen vor Ort-Termine immer noch sehr, auch wenn wir, als verantwortungsbewusstes Unternehmen in Zeiten von Covid-19 darauf verzichten. Hoffen wir, bald auch wieder persönlich bei Ihnen vor Ort sein zu dürfen, damit Ihre Prozesse noch effizienter werden!

Bleiben Sie gesund!