diff --git a/6.ts b/6.ts new file mode 100644 index 0000000..3539d13 --- /dev/null +++ b/6.ts @@ -0,0 +1,31 @@ +import { BufReader } from "https://deno.land/std@0.157.0/io/buffer.ts"; + +const PORT = 5588; + +// const tEnc = new TextEncoder(); + +console.log(`Starting TCP listener on on 0.0.0.0:${PORT}`); + +function chatSession(conn: Deno.Conn) { + const closeOnDisconnect = () => { + console.warn("Disconnected client"); + try { + conn.close(); + } catch (err) { + console.error("Error closing client connection:", err); + } + }; + + serve(conn).catch((e) => e).finally(closeOnDisconnect); +} + +async function serve(conn: Deno.Conn) { + const reader = new BufReader(conn); + reader.peek(1); +} + +for await (const conn of Deno.listen({ port: PORT })) { + console.log("Connection established:", conn.remoteAddr); + chatSession(conn); + console.log("Connection closed:", conn.remoteAddr); +}