Data ya utangazaji na ujumuishaji WebSocket ni vipengele viwili muhimu vya kuunda programu za wakati halisi na Node.js. Katika makala haya, tutachunguza jinsi ya kutangaza data na kuunganisha WebSocket ili kuunda uzoefu wa mtumiaji unaoingiliana na msikivu.
Hatua ya 1: Kutangaza Data kutoka kwa Seva
Ili kutangaza data kutoka kwa seva hadi miunganisho ya mteja, unaweza kutumia mbinu kama vile broadcast
kutuma ujumbe kwa miunganisho yote au send
kutuma ujumbe kwa muunganisho mahususi. Hapa kuna mfano wa kutangaza data kutoka kwa seva:
// ... 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);
});
});
Hatua ya 2: Kuunganisha WebSocket katika Node.js Programu
Ili kujumuisha WebSocket kwenye Node.js programu, unahitaji kuanzisha WebSocket muunganisho katika msimbo wako wa JavaScript. Hapa kuna mfano wa kujumuisha WebSocket katika upande wa mteja wa programu yako:
// 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 = '';
}
Hitimisho
Kwa kutangaza data na kujumuisha WebSocket katika Node.js, unaweza kuunda programu wasilianifu na zinazoitikia kwa wakati halisi. Hii huongeza matumizi ya mtumiaji na kuwezesha mwingiliano wa wakati halisi kati ya programu za mteja na seva.