WebSockets in Actix Web Vollständiges Tutorial — WebSockets & Actors

Blog

WebSockets in Actix Web Vollständiges Tutorial — WebSockets & Actors

Dieses Tutorial führt Sie ausführlich durch jeden Schritt zum Schreiben eines blitzschnellen WebSocket-Clients in Actix Web, und zwar ausführlich und mit einem funktionierenden Repository als Referenz.



Wir werden einen einfachen Chatroom erstellen, der Nachrichten an alle in einem Raum sendet und private Nachrichten enthält. Ich werde auch jeden Schritt erklären, damit Sie dieses Beispiel erweitern und Ihren eigenen WebSocket-Server in Actix Web schreiben können.

Repo für das abgeschlossene Projekt: https://github.com/antholeole/actix-sockets



Voraussetzungen:

  1. Wissen, was WebSockets auf allgemeiner Ebene sind
  2. Kennen Sie einige grundlegende Rust

Alles andere wird in diesem Tutorial besprochen.

Wärmen Sie sich auf die Actix-Architektur auf

In der Actix-Architektur gibt es zwei Hauptkomponenten: Akteure und Nachrichten. Stellen Sie sich jeden Akteur als sein eigenes Objekt im Gedächtnis mit einem Briefkasten vor. Akteure können ihre Mailbox lesen und entsprechend auf ihre E-Mails antworten, sei es, indem sie eine E-Mail an einen anderen Akteur senden, ihren Status ändern oder gar nichts tun. Das ist es! Das ist alles, was Schauspieler sind – einfache kleine Dinge, die E-Mails lesen und beantworten.



Schauspieler sind so gottlos schnell, weil sie völlig unabhängig voneinander arbeiten. Ein Akteur kann sich in einem eigenen Thread befinden oder vollständig auf einer anderen Maschine. Solange der Schauspieler seine Post lesen kann, funktioniert es perfekt.

Es ist wichtig zu beachten, dass der Akteur nur im Speicher existiert, wobei seine Adresse wie |_+_| weitergegeben wird. Der Actor selbst kann seine Eigenschaften ändern (vielleicht haben Sie eine Messages_received-Eigenschaft, und Sie müssen sie bei jeder Nachricht inkrementieren), aber das ist nirgendwo anders möglich. Stattdessen mit dem |_+_| Element können Sie |_+_| um eine Nachricht in die Mailbox dieses Schauspielers zu legen.

Im Actix-Web ist jede Socket-Verbindung ein eigener Akteur, und die Lobby (dazu kommen wir noch) ist ebenfalls ein eigener Akteur.

#rost #schauspieler #actix-web

levelup.gitconnected.com

WebSockets in Actix Web Vollständiges Tutorial — WebSockets & Actors

Dieses Tutorial führt Sie ausführlich durch jeden Schritt zum Schreiben eines blitzschnellen WebSocket-Clients in Actix Web, und zwar ausführlich und mit einem funktionierenden Repository als Referenz.