Duomenų transliavimas ir integravimas WebSocket yra du esminiai aspektai kuriant programas realiuoju laiku naudojant Node.js. Šiame straipsnyje mes išnagrinėsime, kaip transliuoti duomenis ir integruoti, WebSocket kad būtų sukurta interaktyvi ir reaguojanti vartotojo patirtis.
1 veiksmas: duomenų transliavimas iš serverio
Norėdami transliuoti duomenis iš serverio į kliento ryšius, galite naudoti tokius metodus kaip broadcast
siųsti pranešimus visiems ryšiams arba send
siųsti pranešimą konkrečiam ryšiui. Štai duomenų perdavimo iš serverio pavyzdys:
// ... Initialize WebSocket server
// Broadcast data to all connections
function broadcast(message) {
for(const client of clients) {
client.send(message);
}
}
// Handle new connections
server.on('connection',(socket) => {
// Add connection to the list
clients.add(socket);
// Handle incoming messages from the client
socket.on('message',(message) => {
// Broadcast the message to all other connections
broadcast(message);
});
// Handle connection close
socket.on('close',() => {
// Remove the connection from the list
clients.delete(socket);
});
});
2 veiksmas: integravimas WebSocket į Node.js programas
Norėdami integruoti WebSocket į programą, „JavaScript“ kode Node.js turite užmegzti ryšį. WebSocket Štai pavyzdys, kaip integruoti WebSocket programą kliento pusėje:
// Initialize WebSocket connection from the client
const socket = new WebSocket('ws://localhost:8080');
// Handle incoming messages from the server
socket.onmessage =(event) => {
const message = event.data;
// Process the received message from the server
console.log('Received message:', message);
};
// Send a message from the client to the server
function sendMessage() {
const messageInput = document.getElementById('messageInput');
const message = messageInput.value;
socket.send(message);
messageInput.value = '';
}
Išvada
Transliuodami duomenis ir integruodami WebSocket į Node.js, galite kurti interaktyvias ir reaguojančias programas realiuoju laiku. Tai pagerina vartotojo patirtį ir įgalina kliento ir serverio programų sąveiką realiuoju laiku.