1. Hintergrund1. Das Frontend verwendet vue + vuex + socket.io-client
2. Das Backend verwendet Node + Express + Socketio 1. Erstellen Sie eine Knotenentwicklungsumgebung
Installieren Sie die erforderlichen Abhängigkeiten
2. Übersicht über die Verwendung von socket.io1. Ereignisse senden socket.emit('Ereignisname', Daten => { // Daten sind die zu übertragenden Daten, die Boolesch, Zeichenfolge, Zahl, Objekt usw. sein können}) 2. Auf Ereignisse achten socket.on('Ereignisname beim Senden', data => { //vom Ereignis gesendete Daten}) 3. Übertragung von Veranstaltungen // An andere Benutzer senden (nicht an dich selbst) socket.broadcast.emit('Ereignisname', Daten => { // Daten sind die zu übertragenden Daten, die Boolesch, Zeichenfolge, Zahl, Objekt usw. sein können}) 3. Entwicklungsprozess1. Erstellen Sie auf dem Frontend eine socket.js-Datei, um Socket-bezogene Ereignisse wie folgt zu empfangen // Socket.io-Client importieren importiere io von „socket.io-client“ // Einen Link erstellen const socket = io() // Abhören socket.on('connect', () => { console.log('Erfolgreich mit dem Server verbunden!!') }) > =============Der mittlere Teil wird verwendet, um die vom Backend gesendeten Socket-Ereignisse abzuhören, zum Beispiel: ====================== // Betrete den Raum socket.on('enter_room', (data) => { // Erforderliche Daten können im Speicher abgelegt werden localStorage.setItem('Anzahl', JSON.stringify(Daten)) store.commit('setData', JSON.parse(localStorage.getItem('data'))) }) // Dienstverbindung verloren gehen behandeln socket.on('disconnect', () => { console.log('Trennen') }) 2. Backend-bezogener Code const app = erfordern('express')() const http = erfordern('http').Server(App) var io = erfordern('socket.io')(http) let onlineUsers = {} lass Benutzer = [] let onlineCounts = 0 io.on('Verbindung', Socket => { // Der Benutzer betritt das Spiel socket.on('enter', (data) => // Benutzerinformationen hinzufügen const sid = socket.id socket.name = daten.name // Neuen Benutzer hinzufügen if(!onlineUsers.hasOwnProperty(data.name)) { onlineUsers[data.name] = sid onlineCounts++ } wenn (!users.length) { Benutzer.push({ Name: onlineUsers[sid] }) } // Aktuelle Anzahl der Clients let clientsCount = io.sockets.server.engine.clientsCount //Senden Sie die Benutzerliste an den aktuellen Benutzer (entspricht dem Enter_Room-Teil des Codes, der die Front-End-Überwachung übernimmt) io.emit('Raum betreten', { Rolle: Datenrolle, Benutzer, onlineCounts }) // Neue Benutzer an andere Benutzer senden (nicht an sich selbst) socket.broadcast.emit('Benutzereingabe', Datenname) }) }) // Das Backend öffnet den Abhörport und das Frontend konfiguriert die Proxytabelle als Proxy für den Backend-Server, damit eine Verbindung zwischen Frontend- und Backend-Daten hergestellt werden kann. http.listen(port, () => { console.log('Backend-Server erfolgreich gestartet!!!') }) 4. Veröffentlichung und Einführung1. Frontend: 1) Installieren Sie den http-Server, stellen Sie dann eine Verbindung zum Server her, rufen Sie den Server auf und ziehen Sie den Front-End-Code des Remote-Warehouses (normalerweise aus dem WWW-Verzeichnis des Servers gezogen). Wenn Sie den Code nicht geklont haben, müssen Sie vor dem Herunterladen den öffentlichen Schlüssel auf dem Server konfigurieren. Öffentliche Schlüsselkonfiguration
Geben Sie nach dem Generieren des öffentlichen Schlüssels das Dateiverzeichnis ein, in dem der öffentliche Schlüssel generiert wurde, kopieren Sie ihn auf die Code-Hosting-Plattform und klonen Sie den Code, nachdem Sie den öffentlichen Schlüssel hinzugefügt haben. 2) Packen Sie den Front-End-Code und generieren Sie die Dist-Datei
3) Geben Sie dist ein und führen Sie den Befehl aus, um das Frontend zu starten
4) Front-End-Zugriff, Serveradresse + Portnummer 2. Backend: 1) Genau wie beim Front-End (es muss kein HTTP-Server installiert werden), rufen Sie nach dem Aufrufen des Servers den Front-End-Code aus dem Remote-Warehouse ab (normalerweise aus dem WWW-Verzeichnis des Servers). Wenn Sie den Code nicht geklont haben, müssen Sie vor dem Herunterladen den öffentlichen Schlüssel auf dem Server konfigurieren.
Wenn socket.io online veröffentlicht wird, muss das Frontend den Socket.io-Proxy-Adressport auf den Backend-Port ändern, andernfalls wird 404 gemeldet. Der Änderungsort ist wie folgt (hier ist mein Backend-Port 3000). 2. Nginx muss die Proxy-Weiterleitungsadresse von socket.io ändern, sonst wird auch 404 gemeldet Ergänzung 1.pm2 Allgemeine Befehle
2. Verwandte Anweisungen von nginx in der Befehlszeile
An diesem Punkt können Sie mit den oben genannten Schritten jede Art von Socket-bezogener Entwicklung durchführen. Probieren Sie es aus. Wenn Sie Fragen haben, hinterlassen Sie bitte eine Nachricht. Dies ist das Ende dieses Artikels über vue+node+socketio, um Mehrpersoneninteraktion zu erreichen und den gesamten Prozess online freizugeben. Weitere relevante Inhalte zu vue socketio, um Mehrpersoneninteraktion zu erreichen, finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder weiter in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung der Sperrstruktur in MySQL
>>: Lösung für das Timeout-Problem bei der Installation von Docker-Compose mit PIP
In diesem Artikelbeispiel wird der spezifische Co...
Vor Kurzem wurde ein System bereitgestellt, das n...
Mit dem img-Element können wir Bilder in HTML-Dok...
Inhaltsverzeichnis 1. Benutzerdefinierte Anweisun...
2D-Transformationen in CSS ermöglichen es uns, ei...
Inhaltsverzeichnis Szenario: Die Serverdatenbank ...
Installieren Sie zunächst PHP5 ganz einfach yum i...
Ich verwende CSS schon seit langer Zeit, habe jed...
Inhaltsverzeichnis 1. Verständnis der Gleichheits...
Python stellt eine Verbindung zu MySQL her, um Da...
Inhaltsverzeichnis Mausgelenk Mausgelenk AbstandG...
Vue-Router-Übergänge sind eine schnelle und einfa...
Verwenden Sie einen JS-Timer, um ein Element zu e...
Zu den vom HTTP/1.1-Protokoll angegebenen HTTP-An...
Inhaltsverzeichnis Beispielcode Rendern Code-Anal...