envoy Websockets per Routenkonfiguration, JavaScript-Testaufbau

In meinem gestrigen Artikel habe ich die Konfiguration und den Test von envoy für das Proxying von Websockets ausführlich besprochen. Heute möchte ich einige zusätzliche Informationen hinzufügen. korrekte Syntax für Websocket-Upgrade pro Route Sie können Websocket-Upgrade pro Route aktivieren. Sie müssen es nicht global hinzufügen: - name: envoy.http_connection_manager config: #upgrade_configs: # - upgrade_type: websocket ...

Weiterlesen

envoy, Docker und Websockets - Fehlersuche und Konfiguration

Websockets sind eine aufregende Technologie, die es Ihnen ermöglicht, eine HTTP-Verbindung zu einer dauerhaften binären Verbindung auszubauen, die Sie zum Senden bidirektionaler Nachrichten verwenden können. Nebenbei bemerkt kann das MQTT-Protokoll über Websockets transportiert werden - die einzige (?) Möglichkeit für einen JavaScript-Client, der von der Website ausgeliefert wird, zum Beispiel. In...

Weiterlesen

korrekte Instanziierung des Paho Client in JavaScript für wss (secure websocket)

Die Paho-Dokumentation ist im Moment leider ziemlich fragmentiert, und einige Links auf der Eclipse-Website funktionieren nicht. Hier sind einige funktionierende Links (Stand 05/2019): https://www.eclipse.org/paho/clients/js/ https://www.eclipse.org/paho/files/jsdoc/index.html https://github.com/eclipse/paho.mqtt.javascript Und hier ist eine fantastische Website von Steve: http://www.steves-internet-guide.com/using-javascript-mqtt-client-websockets/ Es gibt eine wichtige Änderung im Paho-Namensraum, bei der Sie Probleme bekommen werden, wenn Sie...

Weiterlesen

Verstehen von Erlang & Lua / Luerl für VerneMQ MongoDB auth_on_register hook

Mein Ziel / TLDR Mein Ziel mit diesem Blogpost ist es, zu erklären, wie man benutzerdefinierte Mountpoints für VerneMQ setzt, indem man das mitgelieferte MongoDB auth Lua Skript (lua/auth/mongodb.lua) modifiziert. Das Setzen eines benutzerdefinierten Mountpoints ist bei VerneMQ nicht nur durch das manuelle Setzen von Mountpoints für bestimmte Listener (z.B. Ports) möglich, sondern auch programmatisch während der Autorisierung in...

Weiterlesen

Einführung in das SNAP-Protokoll

Einführung S.N.A.P. ist ein Protokoll für die Kommunikation zwischen mehreren verbundenen Hosts. Es bietet: - Adressierung - Flags - ack/nak-Abfrage - Fehlererkennung (verschiedene Fehlererkennungsmethoden verfügbar) Es kann über verschiedene Medien, einschließlich RS485, betrieben werden. Es ist für einen kleinen Footprint optimiert (begrenzte Rechen- und Speicherressourcen), aber je nach Bedarf skalierbar. Grundsätzlich,...

Weiterlesen

Elektronik-Gehäuse & Platinenabmessungen Standards

Abmessungen Raspberry Pi Ein Raspberry Pi 3B+ hat, als Vergleich, die Abmessungen: 85 mm x 56 mm für die Basisplatine. (USB & LAN, sowie andere Stecker ragen teilweise über die Platine hinaus). Hutschiene / DIN-Schiene Hutschiene: TS35, U-förmiges Profil. Standarisierte Befestigungsschiene für Gehäuse, Racks, Schaltschränke, u.s.w. Sie wird vielfach in der Industrie eingesetzt. Einer der...

Weiterlesen

Paketierung von Python-Projekten für Debian / Raspbian mit dh-virtualenv

Dieser Artikel zielt darauf ab, Entwicklern, die Python nicht so häufig verwenden, einige Dinge zu erklären, da sie sonst mit einigen Konzepten Schwierigkeiten haben könnten. Ich empfehle dringend die Lektüre des folgenden Artikels als Einführung in die hier besprochenen Konzepte: https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/ pypi.org pypi.org ist ein offizielles Repository mit Software für die Programmiersprache Python....

Weiterlesen

mongo_orm benutzerdefinierter Name für die Sammlung

mongo_orm bestimmt automatisch den Namen für Ihre Sammlung, indem es den Modul- und Klassennamen verwendet und ein "s" anhängt. In Fällen, in denen Sie Ihre Sammlung benennen möchten, können Sie einfach Folgendes tun: class PapiTest < Mongo::ORM::Document collection_name "Buster" field test : String end get "/" do pt = PapiTest.new pt.test = "Ich möchte...

Weiterlesen

Avahi, wie man mehrere .local-Namen der gleichen IP zuweist

In manchen Situationen möchten Sie auf denselben Computer / dieselbe IP-Adresse mit unterschiedlichen .local-Namen zugreifen. Dies ist mit dem Avahi-Daemon möglich. Das Folgende ist für Ubuntu 18.04 Bionic Beaver geschrieben. Avahi installieren apt install avahi-daemon avahi-utils Avahi fügt automatisch den Hostnamen Ihres Computers zur .local Domain hinzu. Mein Computer heißt zum Beispiel...

Weiterlesen