Emitiranje podataka i integracija WebSocket dva su ključna aspekta izgradnje aplikacija u stvarnom vremenu s Node.js. U ovom ćemo članku istražiti kako emitirati podatke i integrirati ih WebSocket za stvaranje interaktivnog i responzivnog korisničkog iskustva.
Korak 1: Emitiranje podataka s poslužitelja
Za emitiranje podataka s poslužitelja na klijentske veze, možete koristiti metode poput broadcast
slanja poruka svim vezama ili send
slanja poruke određenoj vezi. Evo primjera emitiranja podataka s poslužitelja:
// ... 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);
});
});
Korak 2: Integracija WebSocket u Node.js aplikacije
Za integraciju WebSocket u Node.js aplikaciju morate uspostaviti WebSocket vezu u svom JavaScript kodu. Evo primjera integracije WebSocket u klijentsku stranu 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čak
Emitiranjem podataka i integracijom WebSocket u Node.js, možete izgraditi interaktivne i osjetljive aplikacije u stvarnom vremenu. To poboljšava korisnička iskustva i omogućuje interakciju između klijentskih i poslužiteljskih aplikacija u stvarnom vremenu.