Plan
See crypto
socket Demo
html
<div style="max-width: 800px; margin: 0 auto; padding: 20px; font-family: monospace; ">
<h1>socket Demo</h1>
<button id="run-basic">Basic</button>
<button id="run-secure">Secure</button>
<pre id="message-container" style="background: #f4f4f4; color: #1a3b5d; padding: 15px; margin-top: 20px; height: 500px; overflow: auto; border: 1px solid #ddd;"></pre>
</div>
js
import {SecureWebSocketServer, SecureWebSocketClient, logMessage} from './websocket-callback.js'
// Demonstration of secure communication
function runSecureDemo() {
const server = new SecureWebSocketServer();
const alice = new SecureWebSocketClient('ws://localhost:8080', 'alice');
const bob = new SecureWebSocketClient('ws://localhost:8080', 'bob');
// Connect clients to server
server.addClient(alice);
server.addClient(bob);
// When Alice and Bob are authenticated, send a message from Alice to Bob
alice.on('authenticated', () => {
logMessage(`${alice.name} authenticated`);
bob.on('authenticated', ()=>{
const bobPublicKey = bob.getPublicKeyBase64();
alice.sendSecureMessage("Hello Bob, this is Alice!", bobPublicKey);
logMessage("Alice sent a direct message to Bob");
})
});
// Handle secure messages received by Bob
bob.on('secure_message', (message) => {
logMessage(`Bob received secure message from ${message.from}: ${message.content}`);
});
// Handle secure messages received by Alice
alice.on('secure_message', (message) => {
logMessage(`Alice received secure message from ${message.from}: ${message.content}`);
});
}
document.getElementById('run-secure').addEventListener('click', runSecureDemo);
js
import {SimulatedWebSocketServer, SimulatedWebSocketClient, logMessage} from './websocket-callback.js'
function runBasicDemo() {
const server = new SimulatedWebSocketServer();
const client = new SimulatedWebSocketClient('ws://localhost:8080');
// Set up server-side handling of this client
client.on('message', (data) => {
logMessage(`Server received: ${data}`);
server.broadcast(data, client);
});
server.addClient(client);
// Set up client-side message handling
client.on('open', () => {
logMessage("Connection established");
client.send("Hello, server!");
});
client.on('message', (data) => {
logMessage(`Client received: ${data}`);
});
}
document.getElementById('run-basic').addEventListener('click', runBasicDemo);
© 2026 simpatico