Upload files to "test_examples/Websocket"
parent
2f15ff5239
commit
e184700b4d
|
@ -0,0 +1,34 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>WebSocket Example</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>WebSocket Example</h1>
|
||||
<input type="text" id="messageInput" placeholder="Type a message">
|
||||
<button onclick="sendMessage()">Send</button>
|
||||
<ul id="messages"></ul>
|
||||
|
||||
<script>
|
||||
const socket = new WebSocket('ws://localhost:3000');
|
||||
|
||||
// Event-Handler für eingehende Nachrichten vom Server
|
||||
socket.addEventListener('message', (event) => {
|
||||
const messagesList = document.getElementById('messages');
|
||||
const newMessage = document.createElement('li');
|
||||
newMessage.textContent = event.data;
|
||||
messagesList.appendChild(newMessage);
|
||||
});
|
||||
|
||||
// Funktion zum Senden von Nachrichten
|
||||
function sendMessage() {
|
||||
const messageInput = document.getElementById('messageInput');
|
||||
const message = messageInput.value;
|
||||
socket.send(message);
|
||||
messageInput.value = '';
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"name": "Websocket_Test",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"http": "^0.0.1-security",
|
||||
"ws": "^8.14.2"
|
||||
}
|
||||
},
|
||||
"node_modules/http": {
|
||||
"version": "0.0.1-security",
|
||||
"resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz",
|
||||
"integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g=="
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.14.2",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz",
|
||||
"integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"http": "^0.0.1-security",
|
||||
"ws": "^8.14.2"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
const http = require('http');
|
||||
const WebSocket = require('ws');
|
||||
|
||||
// Erstelle einen HTTP-Server
|
||||
const server = http.createServer((req, res) => {
|
||||
res.writeHead(200, {'Content-Type': 'text/plain'});
|
||||
res.end('WebSocket Server is running');
|
||||
});
|
||||
|
||||
// Erstelle einen WebSocket-Server, der an den HTTP-Server gebunden ist
|
||||
const wss = new WebSocket.Server({ server });
|
||||
|
||||
// Event-Handler für eingehende WebSocket-Verbindungen
|
||||
wss.on('connection', (ws) => {
|
||||
console.log('Client connected');
|
||||
|
||||
// Event-Handler für eingehende Nachrichten vom Client
|
||||
ws.on('message', (message) => {
|
||||
client.send(`${message}`);
|
||||
|
||||
// Sende die empfangene Nachricht an alle verbundenen Clients
|
||||
wss.clients.forEach((client) => {
|
||||
if (client !== ws && client.readyState === WebSocket.OPEN) {
|
||||
client.send(message);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Event-Handler für das Schließen der WebSocket-Verbindung
|
||||
ws.on('close', () => {
|
||||
console.log('Client disconnected');
|
||||
});
|
||||
});
|
||||
|
||||
// Starte den Server auf Port 3000
|
||||
server.listen(3000, () => {
|
||||
console.log('Server listening on http://localhost:3000');
|
||||
});
|
Loading…
Reference in New Issue