Oddajanje podatkov in integracija WebSocket sta dva ključna vidika gradnje aplikacij v realnem času z Node.js. V tem članku bomo raziskali, kako oddajati podatke in jih integrirati, WebSocket da ustvarimo interaktivno in odzivno uporabniško izkušnjo.
1. korak: Oddajanje podatkov s strežnika
Za oddajanje podatkov iz strežnika v povezave odjemalcev lahko uporabite metode, kot je broadcast
pošiljanje sporočil vsem povezavam ali send
pošiljanje sporočila določeni povezavi. Tukaj je primer oddajanja podatkov s strežnika:
// ... 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. korak: Integracija WebSocket v Node.js aplikacije
Za integracijo WebSocket v Node.js aplikacijo morate vzpostaviti WebSocket povezavo v kodi JavaScript. Tukaj je primer integracije WebSocket na strani odjemalca vaše aplikacije:
// 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 = '';
}
Zaključek
Z oddajanjem podatkov in integracijo WebSocket v Node.js, lahko zgradite interaktivne in odzivne aplikacije v realnem času. To izboljša uporabniško izkušnjo in omogoča interakcijo med odjemalskimi in strežniškimi aplikacijami v realnem času.