問題タブ [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 ストリーミング パフォーマンス
この質問が SO に不適切であると見なされた場合は申し訳ありませんがasStream
、then
. 次の 2 つの操作の一般的なパフォーマンスの違いを期待できますか?
操作 1
操作 2
dart - 「dart:io」を使用してファイルの日付属性 (少なくとも変更日) を変更するには?
ファイルの更新日時を変更したい。
Dartプラットフォームでこれを行うにはどうすればよいですか?
.NET Framework、C# 言語の例。
きっと可能です。
Dart のような素晴らしいプラットフォームで標準的な方法でそれを行う方法がわかりません。
ダーツでは無理
routing - Dart マルチサーバーでのポート転送リクエスト // Isolate ハンドラ
4 つの Dart サーバーを実行していて、リクエストを転送したい場合、Dart でそれを行うにはどうすればよいですか? 一方では、リクエストに効率的に対応したいだけでなく、特定のリクエストを別の方法で処理したり、都市からの IP をどこかで処理したりしたいと考えています。したがって、私はセッション ID を評価し、このセッションは server2:1234 によって提供される必要があると言います。つまり、応答は、server1:80 を介してすべてをルーティングするのではなく、理想的にはそのサーバーによって出力されます。これは、server1:80 の可用性を大幅に低下させるためです。
「hello world」の数値:
server1:80 は約 8000
要求/秒を処理できます 4 つのサーバーは約 15-20000 要求/秒を処理できます (フロントエンドとして nginx を使用)
Isolate は httprequests を処理できません。Afaik では、Isolate のリクエストを解析/ダウングレードする必要がありますが、これはさらに悪いことです。
2 つの質問:
メイン インスタンスをブロックせずにリクエストを転送するにはどうすればよいですか?
(nginx ロードバランシングのように)
リクエストをアイソレートに理想的にルーティングするにはどうすればよいですか?
(私が見つけた例はすべて時代遅れであるか、私が好まないパターンを使用していました: すべてのリクエストに対して分離を生成する...良いアイデアではありません.Isolatesでサーバーインスタンスを動的に作成し、そこにリクエストを転送したいと思います)
私が見る主な問題は、メモリを共有していないことです。したがって、問題は、複製コピーを持たずにデータをルーティングすることさえ可能かどうかです。サーバーが異なるマシンで実行されている場合、重大なトラフィック オーバーヘッドが発生します。動的にヘッダーをリダイレクト/書き換える方法が最善だと思います。しかし、そのためにも、ポート 80 で 4 ~ 16 個の「スレッド」を効率的に使用する必要があります。Afaik ダーツでは不可能です。どうするのが一番いいですか?
ここで助けていただければ幸いです。
アップデート
このパッチを使用すると:
https://codereview.chromium.org/250513002/
実際には、古いパッチと同様に機能する並列サーバー プロセスを実現できます:
https://codereview.chromium.org/25511002/
どちらの場合も同じポートでリッスンしますが、2 つの場合は別のプロセスを実行してポートを再利用できますが、1 つの場合はプロセスを分離して実行し、ServerSocketReference を共有できます。
古いパッチにはいくつかの調整が必要でしたが、最終的には新しい SDK で、少なくとも nginx を取り除くことができます。nginx プロキシ パスを保存すると、Hello World リクエストが約 10 ~ 20% 増えます。2 つの並列プロセスでは約 140% のパフォーマンスを達成しましたが、3 と 4 ではわずか 145% でした。しかし、私のラップトップでは合計約10kリクエスト/秒で、これは問題ありません(ここで美しさで死にたいとも述べています;))
これは非常に実験的なものであり、将来どのように機能するかは誰にもわかりません。よりクリーンなアプローチと思われるため、最初のパッチをお勧めします。
これが私が以前に見つけたかった基本的な例です:)
UPDATE == SDK 1.4 で動作するようになりました
dart - クライアント・サーバー・アプリケーションを作成して実行する方法
dart でクライアント サーバー アプリケーションを作成する方法。私の目的は、URL からパラメーターを抽出し、それらを変数のセッションに保存し、dart を .net Web サービスに接続するプログラムを作成することです。
dart - dart HTMLrequest デフォルトの index.html が機能しない
virDir.serveRequest(request);
URLに対して機能するリクエストを処理する単純なDart HTTPServerを実行しています192.168.1.200:8080/index.html
が、または404 Not Found
を使用する場合は. 私は、おそらく素朴ですが、デフォルトは自動でした。ところで、これは私にとってすべて新しいことです。192.168.1.200:8080
192.168.1.200:8080/
HTMLServer のデフォルト設定に気づきませんでした。これはどのように達成されますか?
(編集)
デフォルトを使用して使用を検出し、正しいファイル名を計算することができましたが、ブラウザに配信する方法がわかりません:
[編集]
まだ index.html ファイルを提供できません。VirtualDirector.serveFile() を使用してみましたが、デフォルトの index.html ファイルを処理しようとすると機能しません。私は例に従おうとしてきました。
これを実行して indexUri.toFilePath() を出力すると、出力は「/index.html」になります
私のコードは /srv/fireimager/bin と /srv/fireimager/web にあり、後者は仮想ディレクトリ ルートです。ユーザーが URL に /index.html を指定していないことを検出すると、動作しません。エラーは発生せず、javascript コンソールには何も表示されないため、ブラウザには何も表示されません。
VirtualDirectly.serveFiler の使い方が明らかにわかりません。
dart - Dart:Windowsでキャリッジリターンなしで改行を印刷しますか?
Windows dart vm から *nix 行末でテキストを出力しようとしていますが、常に \n を \r\n に置き換えているようです:
Cygwinから実行したときに得られるものは次のとおりです
自動改行を挿入せずにテキストを出力する方法はありますか?