問題タブ [file-transfer]
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.
c# - Webサービスダウンロードのスループットの計算
XMLドキュメントをクライアントから要求されたデータと交換するクライアントサーバーアプリケーションがあります。基本的に、ユーザーはいくつかの検索制約(一致する属性)を入力し、クライアントは2つのシステムと通信してデータを取得します(データベースからのデータとファイルサーバーからのデータ)。
ファイルサーバーから返されるデータ(アーカイブされたデータのファイル)は、サーバーから返されるメタデータよりもかなり大きく、それに応じて実行に時間がかかります。
ユーザーから、アーカイブデータのダウンロードにかかる時間とダウンロード速度(ダウンロード後)に関するいくつかのメトリックを提供するように求められました。
クライアントサーバーは非同期I/Oおよび多数のスレッドと通信するため、これを実現するために開始/停止タイマーを使用することはできません。
私の現在の実装は次のように機能します。
- 現在のティックを記録します(これは長時間実行されるプロセスであるため、ティックの解決は問題ありません)
- リクエストを非同期的にWebサービスに渡します。
- - - 待って - -
- 現在のティックを取得します
- 返されたドキュメントのサイズを取得します(SOAPエンベロープからは考慮されていないオーバーヘッドがありますが、これは問題ないと思います)
- レート=(ドキュメントサイズ/ 1024)/(終了ティック-開始ティック)*ティック/秒(タイムスパンオブジェクトにこれを実行させます)
最初はこの方法で問題ないと思いましたが、ユーザーからは、大きなサンプルよりも小さなサンプルの方がレートがはるかに低く、1回の実行でレートが大きく異なると報告されています。
これに影響されにくいこのレートを計算するためのより良い方法はありますか?アーカイブが大きいほどレートが高くなることは理にかなっていますが、テストでは、ファイルのサイズよりも10〜40倍高いことがわかります。これは意味がありません。
java - ソケット経由でファイルを転送する
私が試したこのコード魔女を見つけましたが、うまく機能しますが(!)。選択したフォルダーにファイルを保存し、再度選択したフォルダーからファイルを取得したいと考えています。送信者は引数を取得するので、 /home/user/test.txt のような引数を指定すると、それで問題ないと思いますが、ファイルを特定のフォルダーに保存する方法がわかりません (サーバー部分、つまり )。何か案は?
私が議論について間違っている場合は、必ず私を訂正してください:D
PS: Netbeans のデフォルト フォルダー (送信者またはサーバーのフォルダーの指定なし) に対しては問題なく動作します。
どんな助けでも感謝します。
netbeans - NetBeans IDE 6.8でファイルを開くときは、必ずファイルを再度ダウンロードしてください。
NetBeansIDE6.8を使用しています。
ファイルを開くと、NetBeansは、Webサーバーからの実際のファイルではなく、コンピュータから古いファイルを開きます。問題は、他の誰かがWebサーバー上のファイルを編集したときに、ファイルを開く前にファイルをダウンロードする必要があるため、新しい変更が失われないことです。
私がやりたいのは、ファイルを開くときにNetBeansが常にWebサーバーからファイルをダウンロードすることです。これを自動的に行うためにNetBeansを作成する方法を知っていますか?
java - Java ソケット - 1 つの接続を介して他のデータと同時に転送されるファイル
クライアント要求を処理し、接続されている各サーバーに対して新しいスレッドを作成するマルチスレッド サーバーがあります。これは問題なく機能しており、「テキスト」メッセージをサーバーとの間で問題なく送受信できます。チャットシステムのようです。
今、私はこれらのクライアント接続を介してサーバーにファイルを送信できる方法を念頭に置いていますが、Javaで見られるすべての例には、サーバー/クライアント側で常にハードコードされたファイル名があります-しかし、私は自分自身を設定したいです柔軟性のために。そして、ファイルを受信するだけでなく、同じポートで「テキスト」メッセージを同時に受信できるようになれば幸いです。
私が現在持っている「テキスト」メッセージポートが、クライアントからファイルが送信されることをサーバーに伝え、サーバーがファイル転送専用の「ファイル転送」ポートを開くという考えがあります。そうすれば、「テキスト」ポートでファイルの名前などを指定できます。そして、もう一方のポートは、中断することなく、ファイルを問題なく送信できました。
しかし、これを行うためのより良い方法を知っている人はいますか? 2 つのポートを使いたくないのですが、少し面倒です。サーバー側で別のスレッドを作成して、ファイル転送を処理し、同時に「テキスト」メッセージを処理したいのですが、可能であれば?
前もって感謝します、私は十分に明確であることを願っています:)
.net - .NET でのアトミック ファイル コピー
System.IO.File.Copy(...) 関数を使用してファイルをコピーするサーバー アプリを構築しています。私のファイルはかなり大きくなる可能性があるため、マシンがクラッシュした場合、コピー中にクラッシュする可能性がかなりあります。
サービスを再起動した後、コピー タスクを取得して続行できるはずです。コピーが正常に完了したか、サーバー クラッシュによって中断されたかを検出するにはどうすればよいですか?
私の現在の計画は、ファイルを一時的な名前にコピーし、コピーが完了したら、ファイルの名前を最終的な名前に変更することです。このようにして、ファイルの命名により、クラッシュの状態情報を引き継ぐことができます。
良い/より良い提案はありますか?
編集: ターゲット OS は Win2003 であるため、トランザクション NTFS は利用できません
performance - 対称インターネット接続で最高速度を達成できない
ビジネス イーサネット接続 (3Mbit アップロード、3Mbit ダウンロード) を使用しており、テスト済みの帯域幅速度の問題を理解しようとしています。大きなファイルをアップロードする場合、340 KB/秒を維持します。ダウンロードは 340KB/s を維持します。ただし、これらの転送を同時に実行すると、2 つの転送速度が不規則に増減し、両方の平均速度は約 250 KB/秒です。Hatteras HN404 CPi を使用しており、ルーターをバイパスしています (マシンを直接 Hatteras に接続し、NIC を全二重に設定します)。
これは期待されていますか?このタイプのインターネット接続では、最大アップロードが最大ダウンロードに干渉する必要がありますか?
c# - ファイルが Web クライアントによって正常に受信されたことを検出する方法は?
私の質問はこの投稿に似ていますが、IIS、ASP.NET、および C# を使用して同じことを行う必要があります。
このクラスのどのメソッドHttpResponse
も、データが送信されたかどうかにかかわらずフィードバックを提供せず、TransmitFile()
その仕事をする (またはしない) だけで、結果を知る手段を提供しません。
私はプロパティを使用することを考えていましたが、フィルタはフィードバックを提供しない に.Filter
基づいて います。HttpResponseStream
何か案は?
c# - C#画像をPowerPointからWordにコピー
PowerPointからWordにテキストや画像をコピーするためのアプリケーションが必要です。私は次のライブラリを使用しています:Microsoft.Office.Interop.PowerPointおよびMicrosoft.Office.Interop.Word。
テキストは簡単に転送できますが、PowerPointで画像のみを含む図形を見つけると、次のエラーが表示されます。「一般的なエラーが発生しましたGDI +」、コードのこの部分で:
このような状況で、画像を含む図形をPowerPointからWordにコピーするにはどうすればよいですか?どんな助けでも大歓迎です。私はいくつかのコードサンプルを好みます。
ありがとう。
.net - IIS 経由でファイル サーバー上のファイルにアクセスする
私たちが開発しているアプリケーションでは、ファイル サーバーで利用可能ないくつかのファイルへのパスを提供するデータベース テーブルにアクセスできます。このファイル サーバーは、IIS が実行されているマシンからアクセスできます。特定のファイルをファイル サーバーから Web サーバーに (オンデマンドで) コピーし、特定のユーザーがそのファイルをダウンロードできるようにするために使用できるメカニズムはありますか?
algorithm - 限られた情報で合計バッチ アップロード転送率を計算する
ファイルごとにサーバー ファイルにアップロードし、ファイル アップロードの進行状況を示す進行状況バーを表示するシステムがあります。次に、2 番目の進行状況バーの下に、アップロード待ちのすべてのファイルで完了したバッチのパーセンテージを示します。
私が解決できる情報とアルゴリズムは次のとおりです。
送信バイト数 / 送信する合計バイト数 = 最初の進行状況バー (例: 1024KB のうち 512KB (50%))
それはうまくいきます。ただし、アップロードするファイルが他に 2 つ残っているとしますが、両方のファイル サイズは不明です (これは、ファイルがアップロードを開始しようとしているときにのみわかり、その時点で圧縮され、ファイル サイズが決定されるため)、どのように作成しますか?私の3番目の進行状況バー?
最初のプログレス バーのロジックを大規模に複製するには、「Total Bytes Sent」/「Total Bytes To Send」が必要になるため、これが可能になるとは思いませんでしたが、動作するバージョンを取得しました。現在のファイル番号" / "送信するファイルの総数" はバッチ全体のパーセンテージを返しますが、明らかに増分更新は行われず、かなり粗雑です。
したがって、さらに考えてみると、現在のファイル % をこのアルゴリズムに組み込むことができれば、おそらくバッチの現在のポイントの正しい進捗率を取得できると思いました。
私はこのアルゴリズムを試しましたが、残念ながらそのような役に立ちませんでした (数学の頭には申し訳ありませんが、なぜ機能しないのかはおそらく明らかです)。
("Current file number we are on" / "total number of files to send") * ("Bytes Sent" / "Total Bytes To Send")
たとえば、この例でテストしたとき、私は正しい軌道に乗っていると思いました: 2/3 (3 番目のファイルの 2 番目) = 66% (これは今のところ正しいです)。ファイルがアップロードされました)、13% に戻りました。必要なのは 33% 強だけです。私は 0.80 と a (2/3 * (2/3 * 0.2)) で逆を試しました
これは、アップロードするバッチ内のバイト全体を知らなくても実行できますか?
助けてください!ありがとうございました!