per-message deflate compression fixes

This commit is contained in:
Benjamin Sergeant
2018-11-13 17:46:05 -08:00
parent ccd4522b8f
commit 5710ffba6a
4 changed files with 43 additions and 13 deletions

View File

@ -1,11 +1,11 @@
/*
* cmd_websocket_chat.cpp
* broadcast-server.js
* Author: Benjamin Sergeant
* Copyright (c) 2017-2018 Machine Zone, Inc. All rights reserved.
*/
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
const wss = new WebSocket.Server({ port: 8080, perMessageDeflate: true });
// Broadcast to all.
wss.broadcast = function broadcast(data) {

View File

@ -0,0 +1,28 @@
#!/usr/bin/env python
import os
import asyncio
import websockets
connections = set()
async def echo(websocket, path):
connections.add(websocket)
try:
async for message in websocket:
print(message)
for ws in connections:
if ws != websocket:
await ws.send(message)
except:
raise
finally:
connections.remove(websocket)
asyncio.get_event_loop().run_until_complete(
websockets.serve(echo, 'localhost', 8080))
asyncio.get_event_loop().run_forever()