Doel: Studenten leren WebSockets te installeren en gebruiken met behulp van NPM om real-time communicatie in webapplicaties te implementeren.
<aside> ⚠️
Benodigdheden:
mkdir websocket-workshop uit om een nieuwe map te maken.cd websocket-workshop.npm init -y uit om een package.jsonbestand te maken met standaardinstellingen.ws library:
npm install ws uit om de ws library te installeren, die we zullen gebruiken voor WebSocket-functionaliteit.server.js bestand:
server.js in de projectmap.server.js:JavaScript
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', ws => {
console.log('Client connected');
ws.on('message', message => {
console.log(`Received: ${message}`);
wss.clients.forEach(client => {
if (client !== ws && client.readyState === WebSocket.OPEN) {
client.send(`Server: ${message}`);
}
});
});
ws.on('close', () => {
console.log('Client disconnected');
});
});
console.log('WebSocket server started on port 8080');
index.html bestand:
index.html in de projectmap.index.html:HTML
<!DOCTYPE html>
<html>
<head>
<title>WebSocket Client</title>
</head>
<body>
<input type="text" id="messageInput">
<button id="sendButton">Send</button>
<ul id="messages"></ul>
<script>
const socket = new WebSocket('ws://localhost:8080');
const messageInput = document.getElementById('messageInput');
const sendButton = document.getElementById('sendButton');
const messages = document.getElementById('messages');
socket.addEventListener('open', () => {
console.log('Connected to server');
});
socket.addEventListener('message', event => {
const message = document.createElement('li');
message.textContent = event.data;
messages.appendChild(message);
});
socket.addEventListener('close', () => {
console.log('Disconnected from server');
});
sendButton.addEventListener('click', () => {
const message = messageInput.value;
socket.send(message);
messageInput.value = '';
});
</script>
</body>
</html>
node server.js uit om de server te starten.