なんだかGoodVibes

日々の勉強メモです。

【Deno】TCP echoサーバを立ててみる

こんにちは。
本日はDenoメモです。

概要

Denoでechoサーバを作ってみます。
echoサーバとは、クライアントから受け取った文字列を
そのまま返すサーバのことです。
tcp_echo_server.tsというファイルで作成していきます。


サンプルコード

ReadableStreamのpipeToメソッドを使用して
ReadableStreamで読んだデータをWritableStreamで書き込みます。

const listener = Deno.listen({ port: 8080 });
console.log("Start!");
for await(const conn of listener) {
    conn.readable.pipeTo(conn.writable);
}

上記コードでは、以下のAPIを使用しています。
(公式サイトのリンク設定しています)


では、実行してみましょう。

実行時は、--allow-netが必要です。

$ deno run --allow-net tcp_echo_server.ts
Start!

実行できたら、別のターミナルを起動して以下を実行してください。

$ nc localhost 8080
hello
hello

1個めの「hello」は、クライアント側の入力です。
2個めの「hello」がサーバ側からの応答です。

これでechoサーバができました。



以上です。