Node.jsのネットでpipe()を使う
2023-09-24 19:43:49
質問
私は、このような場合
pipe
関数を理解するのに苦労しています。
ネット
モジュールのいくつかの例で示されています。
var net = require('net');
var server = net.createServer(function (socket) {
socket.write('Echo server\r\n');
socket.pipe(socket);
});
これがどのように機能し、なぜ必要なのか、どなたか説明をお願いします。
どのように解決するのですか?
この
pipe()
関数は、読み込み可能なストリームからデータが利用可能になった時点でデータを読み込み、書き込み可能なストリームにデータを書き込みます。
ドキュメントの例では、受信したものを送信する echo サーバーとなっています。その
socket
オブジェクトは読み込みと書き込みが可能なストリームインターフェイスを実装しているため、受信したデータをすべてソケットに書き戻しています。
これは
pipe()
メソッドをイベントリスナーで使用するのと同じです。
var net = require('net');
net.createServer(function (socket) {
socket.write('Echo server\r\n');
socket.on('data', function(chunk) {
socket.write(chunk);
});
socket.on('end', socket.end);
});
関連
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsでファイルを書き込む
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み】Node.jsのrequireとES6のimport/exportを使い分ける。
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JSのDateからDay名
-
[解決済み] Javascriptによるタッチスクリーンデバイスの検出
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] アサインの左側にJavascriptのオブジェクトブラケット表記({ ナビゲーション } =)があります。
-
[解決済み] サブドメインにまたがってlocalStorageを使用する
-
[解決済み] BlobからArrayBufferへ移行する方法
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]
-
[解決済み] これは純関数ですか?
-
[解決済み] 変異を伴わないオブジェクトからの値の削除