mirror of
https://github.com/denoland/deno.git
synced 2025-02-21 04:42:51 -05:00
24 lines
702 B
TypeScript
24 lines
702 B
TypeScript
import WebSocket from "npm:ws@8.18.0";
|
|
|
|
const key = Deno.readTextFileSync("../../../testdata/tls/localhost.key");
|
|
const cert = Deno.readTextFileSync("../../../testdata/tls/localhost.crt");
|
|
|
|
Deno.serve({ key, cert, port: 0, onListen }, (req) => {
|
|
const { socket, response } = Deno.upgradeWebSocket(req);
|
|
socket.addEventListener("open", () => {
|
|
console.log("open on server");
|
|
});
|
|
socket.addEventListener("message", () => {
|
|
console.log("message on server");
|
|
Deno.exit(0);
|
|
});
|
|
return response;
|
|
});
|
|
|
|
function onListen({ port }) {
|
|
const socket = new WebSocket(`wss://localhost:${port}`);
|
|
socket.on("open", () => {
|
|
console.log("open on client");
|
|
socket.send("hi");
|
|
});
|
|
}
|