問題タブ [dart-io]
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.
dart - パスワード入力のためにdartコンソールアプリケーションでstdinエコーを無効にする方法
以下の例では、ユーザーのパスワードを読み取りますが、プレーンテキストでエコーしますが、これを回避する方法はありますか?
io - Dartの新しいStreamsAPIでstdin.close()を実行するにはどうすればよいですか?
コマンドライン(dart:io)アプリでユーザーに入力を求めます。ユーザーから回答を得た後、から退会したいと思いますStream
。その後、もう一度聞きたいと思うかもしれません(ただし、別のリスナーを使用しているので、助けにはpause()
なりresume()
ません)。
起動時に、私はこれを持っています:
後で、入力を収集したいとき:
これは意図したとおりに機能しますがstdin
、プログラム実行の終了時に開いたままになります。以前のAPIでは、閉じるのstdin
はを呼び出すのと同じくらい簡単でしたstdin.close()
。しかし、新しいAPIでは、stdin
はでありStream
、それらにはメソッドがありませんclose
。
私がやっていることは、変換されたストリームを閉じて(読み取り:サブスクライブを解除して)、生の(stdin)ストリームを開いたままにしておくことだと思います。
私は正しいですか?もしそうなら、どうすればstdin
プログラム終了時に基になるストリームを閉じることができますか?
dart - Dart にまだ存在しないディレクトリ構造にファイルを作成するにはどうすればよいですか?
たとえば、ファイルを作成したいのですfoo/bar/baz/bleh.html
が、ディレクトリfoo
、foo/bar/
などは存在しません。
途中ですべてのディレクトリを再帰的に作成するファイルを作成するにはどうすればよいですか?
dart - ポートをリッスンし、Web ソケットでデータをプッシュする TCP ソケット サーバー
dart:io の新しいバージョンがあることを確認しました。新しいデータのポートをリッスンし、受信したデータを Web ソケット経由でサブスクライブしているクライアントにプッシュする、新しい v2 dart:IO を使用してソケット サーバーを作成するにはどうすればよいですか?
Java および ac# デスクトップ アプリケーション (tcpClient) があり、特定のポートでダーツ サーバーに文字列 (json または xml) を送信したいと考えています。その文字列は私の tcpClient に返信され、Web ソケットを使用して他のすべてのサブスクライブされたクライアント (ブラウザー) にプッシュされる必要があります。
次のものがありますが、その特定のソケットに送信されたデータにアクセスするにはどうすればよいですか?
編集:質問を2つの部分に分割する必要があるかもしれません。
特定のポートでデータをリッスンするサーバーを Dart で作成するには?
node.js では、次のようなものを使用できます。
websocket - ダーツ チャット サーバーのサンプル、別のマシンからの接続
別の物理マシンからチャット サーバーの例に接続するにはどうすればよいですか?
https://www.dartlang.org/slides/2012/06/io12/Bullseye-Your-first-Dart-app-Codelab-googleIO2012.pdfで _
127.0.0.1 ではなく 192.168.1.5 をバインドするように、チャット サーバーを変更します。
コマンドラインからサーバーを実行します。
chrome の 192.168.1.9 から、192.168.1.5:1337/index.html に接続します。
クライアントでは、チャット クライアント ページが表示されますが、ステータス ウィンドウには次のように表示されます。
[システム]: Web ソケットに接続しています[
システム
]: Web ソケットが閉じられました
。
]: Web ソケットが閉じられました。4 秒後に再試行しています
。
192.168.1.5 でクロムを使用すると正常に動作します。
どうも
dart - Dart のシンプルなコマンドライン アプリ I/O
ユーザーから 1 文字 (整数) のキーボード入力を受け取り、それらを Dart コマンドライン アプリの変数に格納する方法はありますか? 私は次のようなことを試しました:
変数 'choice' にキーボード入力を格納しようとしており、このコードの多くのわずかなバリエーションがありますが、動作させることができません。
dart - Dart: 着信 HTTP リクエストを並行して処理する
複数のリクエストを並行して処理できる HTTP サーバーを Dart で作成しようとしています。これまでのところ、「並列」の部分を達成することに成功していません。
最初に試したのは次のとおりです。
リクエストごとに、ビジーな作業を 1 秒間実行してから完了します。タイミングが予測できるように、この方法でリクエストを処理するようにしました。そのため、Windows タスク マネージャーでリクエストの効果を簡単に確認できます (CPU コアが 100% 使用率にジャンプします)。
次の理由により、これはリクエストを並行して処理していないことがわかります。
いくつかのブラウザー タブを読み込んでから
http://example:8080/
すべてを更新すると、タブが次々に読み込まれ、それぞれのタブが約 1 秒間隔で読み込まれます。これらの設定で 負荷テスト ツールwrk
wrk -d 10 -c 8 -t 8 http://example:8080/
を使用すると... ...指定した 10 秒で 5 ~ 8 件の要求が完了します。サーバーが私の 8 つのコアすべてを使用していた場合、80 に近い数のリクエストが予想されます。ワーク テスト中に Windows タスク マネージャーを開くと、使用率がほぼ 100% に近いコアは 1 つだけで、残りはほとんどアイドル状態になっていることがわかります。
そこで、リクエストごとに新しいisolate/threadを手動で生成することを期待して、isolateを使用してみました:
これはまったく機能しません。Isolate へのメッセージとして HttpRequest を送信しようとしているのは好きではありません。エラーは次のとおりです。
使用したバージョン:
- Dart Editor バージョン 0.5.9_r22879
- Dart SDK バージョン 0.5.9.0_r22879
Dart を使用して、マシンの利用可能なすべてのコアでこれらのリクエストを並行して処理することは可能ですか?
dart - Dart でフォーム送信を解析するにはどうすればよいですか?
Dart を使用して HTTP サーバーを作成しましたが、フォームの送信を解析したいと考えています。具体的には、HTML フォームから x-url-form-encoded フォームの送信を処理したいと考えています。dart:io
ライブラリでこれを行うにはどうすればよいですか?