問題タブ [libuv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sockets - HTTP キープアライブ接続でデータが到着したことをどのように確認できますか?
libuv を使用して単純な Web サーバーを実装しています。現在、キープアライブ接続に固執しています。
キープアライブに関する私の理解に基づいてuv_close()
、リクエストが処理された後に確立された接続(TCPソケット)を呼び出さず、後で再利用します。
その接続で新しいリクエストが到着したことをどのように伝えることができるのでしょうか? つまり、いつuv_read_start()
その有効な接続を呼び出せばよいのでしょうか?
javascript - Nodejs プロセスがブロックしている FUSE ファイルからの読み取りをロックアップする
ファイルを読み取ってコンテンツを提供するnodejs Webサーバーがあります。一部のファイルは FUSE 仮想ファイルであり、バッキング サービスがデータの提供を待機している間、長時間読み取りをブロックする可能性があります。
これらの読み取り要求が 5 つ溜まると、プロセスはどのファイルからも読み取れなくなるようです。また、必要に応じてこれらの保留中の読み取りを終了する方法がわかりません。
これは nodejs の制限ですか、それとも FUSE ファイルシステムが FUSE の期待と矛盾する方法で動作していますか?
c - libuv イベントループと libcurl
libcurlでlibuvを使用する方法の例からのサンプルコードを以下に示します
メイン関数は次のようになります。
イベントループを開始する方法について混乱しています。この行を実行すると
ループには保留中のイベントがまったくないので、理論的にはループはすぐに終了するべきではありませんか?
コールバック handle_socket を実行するための変更は必要ありません。curl_perform()
curl ソケット コールバックのコールバックで設定された が実行される可能性はありません。
私の理解に何か問題がありますか?
javascript - ファイル記述子を指定してnodejs Duplexストリームを開くにはどうすればよいですか?
既存のプログラムをnodejsに移植しています。このプログラムでは、ファイル ディスクリプタを開き、そのファイル ディスクリプタを呼び出すスレッドに渡して、poll
いつ読み取り可能かを判断します。
カスタム C++ モジュールを作成する代わりに、Node の便利でダンディなDuplex streamを利用して純粋な JavaScript でこれを行いたいと思います。
たとえば、次のようなことをしたいと思います。
これは存在するはずですが、どこにあるのかわかりません。もしかして私は盲目なだけ?PollDuplexStream
上記の例に相当する現実世界は何ですか?
パスではなくファイル記述子で始まるソリューションを明示的に探していることに注意してください。それ以外の場合は、fs.createReadStream
とから独自に作成しますfs.createWriteStream
。
また、内部で呼び出すことも気にしませんpoll
。実際、内部で libuv を使用することをお勧めしuv_poll_*
ます。
libuv - libuv は POSIX システム上の libev の単なるラッパーですか?
私はlibevとlibuvの間で本当に混乱しています。
libuv は POSIX システム上の libev の単なるラッパーですか?
そうでない場合、どこが違うのですか?