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");
//創(chuàng)建一個服務(wù)
const server = http.createServer(express);
//監(jiān)聽服務(wù)端口
server.listen(8001,()=>{
console.log("服務(wù)端已經(jīng)啟動,請訪問 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();
客戶端向服務(wù)端發(fā)送請求
index.js
$('form').submit(function(){
//觸發(fā)事件
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
Beispiel für einen detaillierten Chatraum für die Kommunikation zwischen Vater und Sohn in der Vue-Komponente
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!