Implementierung eines einfachen Chatroom-Dialogs basierend auf WebSocket

Implementierung eines einfachen Chatroom-Dialogs basierend auf WebSocket

In diesem Artikel finden Sie den spezifischen Code zur Implementierung einer einfachen Chatroom-Konversation mithilfe von WebSocket als Referenz. Der spezifische Inhalt ist wie folgt

Erstellen Sie zunächst eine Knotenumgebung und schreiben Sie den folgenden Code in app.js

npm installiere socket.io-client

Socket ist ein Hochleistungsserver-Framework. Entwickler können ihre eigenen Netzwerkanwendungen wie RPC-Dienste, Chatroom-Server, mobile Spieleserver usw. entwickeln, indem sie eine oder zwei Schnittstellen implementieren.

npm installiere HTTP-Server

Im Allgemeinen werden Serverdienste bereitgestellt. Parameter können Ports, Adressen usw. angeben. Um beispielsweise einen Dienst auf Port 8888 zu starten, lautet der Befehl: http-server src -p 8888

npm installiere koa

Koa implementiert über node.js ein sehr ausdrucksstarkes HTTP-Middleware-Framework und zielt darauf ab, die Entwicklung von Webanwendungen und die API-Nutzung angenehmer zu gestalten. Die Middleware von Koa wird im Stapel in der Reihenfolge ausgeführt, in der sie codiert ist. So können Sie Vorgänge ausführen und Anforderungen nach unten (downstream) weiterleiten und anschließend Antworten in umgekehrter Reihenfolge (upstream) filtern und zurückgeben.

Implementierungscode

// Abhängigkeiten einführen const koa = require("koa")
//Koa initialisieren
const app = new koa()
// http aktivieren 
var Server = erforderlich("http").Server erstellen(App.Callback())
// Initialisiere den Socket
const io = erfordern("socket.io")(Server, { cors: true })
// Hören Sie io.on('connection', (socket) => {
  // Aktiv Nachrichten an den Client senden setTimeout(() => {
    //Lösen Sie über die io-Objektmethode „emitt“ ein benutzerdefiniertes Ereignis aus und senden Sie eine Nachricht an den Client io.emit('Chat-Nachricht', 'Was möchten Sie sagen?')
  }, 1000)

  socket.on('trennen', () => {
    console.log('Benutzer getrennt')
  })

  // Empfange die Nachricht des Clients auf dem Server // Lausche dem Ereignis über die on-Methode. Wenn der Client eine Nachricht sendet, wird das Ereignis ausgelöst und die vom Client gesendete Nachricht kann empfangen werden socket.on('chat message', (msg) => {
    Konsole.log(Nachricht)
    // msg ist die vom Client gesendete Nachricht // Das Senden einer Nachricht an den Client ist emit
    setzeTimeout(() => {
      msg = msg.replace("du", "ich").replace("?", "").replace("?", "!")
      // Ereignis auslösen, um die verarbeitete Nachricht an den Client zu senden io.emit('Chat-Nachricht', msg)
    }, 500)
  })
})
server.listen(5522,()=>{
  console.log('Socket-Dienst ist aktiviert, Portnummer ist 5522')
});

Rufen Sie diesen Dienst an

importiere { io } von 'socket.io-client'
erstellt(){
    // 1. Erstellen Sie eine Verbindung, die angepasst werden kann this.socket = io('ws://localhost:5522')
     // 2. Stelle eine Verbindung her this.socket.on('connect', () => {
        console.log('Verbindung erfolgreich hergestellt')
    })
    // 3. Auf Nachrichten warten und this.socket.on('chat message', msg => { zurückgeben
        console.log('Vom Dienst zurückgegebene Nachricht', msg)
    })
}

Dies ermöglicht Ihnen eine einfache KI-Konversation.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der wichtigsten Punkte der Python Socket-Programmierung
  • Websocket+Vuex implementiert eine Echtzeit-Chat-Software
  • Java Socket zur Implementierung eines Chatsystems für mehrere Personen
  • Node.js + Express + Socket realisiert einen Online-Chatroom für mehrere Personen in Echtzeit
  • Springboot Websocket Stomp Nachrichtenabonnement-Push
  • Java Socket-Simulation zur Realisierung eines Chatrooms
  • C++ implementiert Netzwerk-Chatrooms basierend auf Socket-Multithreading
  • Erläuterung des Anwendungsfalls für Socketpaare in der C-Sprache

<<:  Konfigurationscodebeispiel für Nginx-Forward- und Reverse-Proxy sowie Lastausgleichsfunktionen

>>:  Ausführliche Erklärung des Sperrmechanismus in MySQL InnoDB

Artikel empfehlen

So erstellen Sie Ihre erste React-Seite

Inhaltsverzeichnis Was ist Rract? Hintergrund Rea...

Einführung in häufig verwendete MySQL-Befehle in der Linux-Umgebung

Geben Sie den MySQL-Befehl ein: mysql -u+(Benutze...

Warum der CSS-Attributwert clear:right im Detail nicht funktioniert

Die Verwendung der Clear-Eigenschaft zum Löschen v...

Fünf Möglichkeiten zur Implementierung der Vererbung in js

Ausleihen von Konstruktoren Die Grundidee dieser ...

Tutorial zum Herunterladen und Installieren von MySQL 8.0.12 WinX64

MySQL 8.0.12 Download- und Installations-Tutorial...

Das Laufschriftelement implementiert Effekte wie scrollende Schriften und Bilder

Mit dem Laufschriftelement können Sie einfache Gle...

So ändern Sie das Anfangskennwort eines Benutzers in mysql5.7

Wenn Benutzer MySQL-Datenbanken zum ersten Mal in...

So richten Sie eine VSCode-Remoteverbindung zum Server-Docker-Container ein

Inhaltsverzeichnis Ziehen Sie das Bild Ausführen ...

So finden Sie identische Dateien in Linux

Während der Nutzung des Computers entsteht im Sys...

Detaillierte Erläuterung der MySQL-Transaktionsisolationsebene und des MVCC

Inhaltsverzeichnis Transaktionsisolationsebene Be...

So legen Sie Hintergrundfarbe und Transparenz in Vue fest

Einstellungen für Hintergrundfarbe und Transparen...

Verwenden Sie CSS, um die Breite von INPUT in TD festzulegen

Als ich kürzlich mit C# ein Webprogramm erstellte,...