こんにちは。
本日は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サーバができました。
以上です。