跳至主要內容

TCP echo 伺服器

概念

範例

以下是一個伺服器的範例,它接受 8080 埠上的連線,並傳回用戶端傳送的任何內容。

/**
* echo_server.ts
*/
const listener = Deno.listen({ port: 8080 });
console.log("listening on 0.0.0.0:8080");
for await (const conn of listener) {
conn.readable.pipeTo(conn.writable);
}

使用下列方式執行

deno run --allow-net echo_server.ts

若要測試,請嘗試使用 netcat (僅限 Linux/MacOS) 傳送資料給它。以下會透過連線傳送 'hello world',然後回傳給使用者

$ nc localhost 8080
hello world
hello world

如同 cat.ts 範例,此處的 pipeTo() 方法也不會進行不必要的記憶體複製。它會從核心接收封包,並傳送回去,而不會有其他複雜性。