My setup:
vibe-d 0.7.23
wss connection
the handler and start function are in one class (Server).
class Server {
void handleConnection(scope WebSocket socket) {
logInfo("Someone became online!");
while (socket.connected) {
auto msg = socket.receiveText();
socket.send(msg);
}
logInfo("Someone went offline!");
}
void start() {
auto router = new URLRouter;
router.get("/live", handleWebSockets(&handleConnection));
auto settings = new HTTPServerSettings;
settings.port = 9996;
settings.bindAddresses = ["127.0.0.1"];
// ssl settings
settings.sslContext = createSSLContext(SSLContextKind.server);
settings.sslContext.useCertificateChainFile("ssl/server.crt");
settings.sslContext.usePrivateKeyFile("ssl/server.key");
listenHTTP(settings, router);
}
}