Heim > Artikel > Web-Frontend > node.js verwendet Socket, um die gemeinsame Nutzung von Chat-Instanzen zu implementieren
In diesem Artikel wird hauptsächlich der Beispielcode von node.js vorgestellt, der Socket zum Implementieren des Chats verwendet. Der Herausgeber findet ihn recht gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.
Server-Setup
app.js
const http = require("http"); const express = require("./express"); //创建一个服务 const server = http.createServer(express); //监听服务端口 server.listen(8001,()=>{ console.log("服务端已经启动,请访问 http://localhost:8001"); });
express.js
const url=require("url"); const fs=require("fs"); function express(req,res){ var urlObj=url.parse(req.url); //console.log(urlObj); var filePath="./www"+urlObj.pathname; var content="not found"; if(fs.existsSync(filePath)){ content=fs.readFileSync(filePath); } res.end(content.toString()); } module.exports=express;
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"/> <title>Socket.IO chat</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { font: 13px Helvetica, Arial; } form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; } form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; } form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; } #messages { list-style-type: none; margin: 0; padding: 0; } #messages li { padding: 5px 10px; } #messages li:nth-child(odd) { background: #eee; } </style> </head> <body> <ul id="messages"></ul> <form action=""> <input id="m" autocomplete="off" /><button>Send</button> </form> <script src="js/lib/jquery-1.11.1.js"></script> <script src="js/lib/socket.io.js"></script> <script src="js/index.js"></script> </body> </html>
Client-Service-Aufbau und Serverkommunikation
Wir müssen eine Server-Socket-Anfrageverbindung herstellen
io.on('connection', function(socket){ console.log('a user connected'); //断开连接 socket.on('disconnect', function(){ console.log('user disconnected'); }); });
index.js
//客户端建立连接 var socket = io(); 客户端向服务端发送请求 index.js $('form').submit(function(){ //触发事件 socket.emit('chat message', $('#m').val()); $('#m').val(''); return false; });
app.js
//接收客户端的信息 socket.on('chat message', function(msg){ console.log('message: ' + msg); });
Serverdaten an den Client senden
socket.on('chat message', function(msg){ console.log('message: ' + msg); socket.broadcast.emit("clientE",msg); });
Der Client empfängt die vom Server gesendeten Daten
socket.on('clientE', function(msg){ $('#messages').append($('<li>').text(msg)); });
Verwandte Empfehlungen:
nodejs implementiert WebSocket-Chat basierend auf der WS-Modulfunktion
Beispiel für die gemeinsame Nutzung einer WeChat-Chat-Schnittstelle mit JQuery-Imitation
Das obige ist der detaillierte Inhalt vonnode.js verwendet Socket, um die gemeinsame Nutzung von Chat-Instanzen zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!