WinXP機からWinXP機へのコピー方法について – プログラミング – Home

WinXP機からWinXP機へのコピー...
 
通知
すべてクリア

[解決済] WinXP機からWinXP機へのコピー方法について


グフ
 グフ
(@グフ)
ゲスト
結合: 19年前
投稿: 3
Topic starter  

今、大量ファイルをコピーするためにコピーツールを
作っているのですが、WinXPのサーバにLAN越しで
ファイルをコピーすると速度が遅くなります。
WinXP機からLinuxやWinMEへのコピー速度は速いのですが、
WinXP機からWinXP機へのコピーだけが遅いのです。

ファイルコピーにはCopyFileを使っているだけで
とく変わった処理はしていないのですが、何が考えられる
でしょうか?コピー時のネットワーク使用率が低すぎるのも
気になります・・・。

VC6 MFCで、WinXPで作成しています。
よろしくお願い致します。


引用未解決
トピックタグ
REE
 REE
(@REE)
ゲスト
結合: 23年前
投稿: 240
 

コピーツールを使わない場合の速度と比べてみましたか?


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

送り(A)→受け取り(B)
どっちでPG動かしてるの
(B)で動かすほうが早くないですか?
エクスプローラでNTFS対NTFSのときも(B)でコピーするほうが
早いよ


返信引用
グフ
 グフ
(@グフ)
ゲスト
結合: 19年前
投稿: 3
Topic starter  

コピーツールを使わないと、早かったです。
他のフリーソフトのコピーツール使っても
早いんだよね(´;ω;~)

プログラムは送り(A)で動かしてます。
確かにB→Aにコピーした時は早い…。
うーむ、なんでだろう。


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

>確かにB→Aにコピーした時は早い…。
ちょっと俺の表現と違うが同じ意味だろうね
矢印は、たぶん B←A の間違いだろうね

送りAで実行の場合
A:今からデータ送ります(ファイル名、サイズ・・・)
B:受け取れるサイズか調べます、少々お待ちを・・・WAIT
B:OK(受信バッファ用意できました)
A:OKがきた
A:送り出す(送信開始)
B:データ来た
B:キャッシュ開始
B:キャッシュ終了

B:Aへキャッシュは終了した
A:キャッシュは終了したんですか
A:送信終了します

B:送信終了受け取りました

B:書き込みプロセスへの割り込み・・・WAIT
B:指定の場所へ書き出す
B:書き出し終わりました

A:終わったんですか
A:自分のプロセス終了

受け取り側実行の場合
B:お前のところのこれを送れ(ファイル名、サイズ・・・)
A:分かった

A:データ送り開始
B:データキャッシュ開始
B:データキャッシュ終了
A:送信終了

B:自分で要求してるから他のREAD・Writeへ割り込み
  バッファ要求も自分へのみ

B:キャッシュデータ書き込み開始
B:書き込み結果をAに返す必要なし
B:書き込みできなかったら、自分にメッセージをPOSTするだけ

う~む・・・うまく表現出来てねーな
通信プロセスでのWAITの入り方の説明はMSのページにもいたはずだが

ごめん、誰かフォローお願いします


返信引用
グフ
 グフ
(@グフ)
ゲスト
結合: 19年前
投稿: 3
Topic starter  

なにやら、自己解決しました。
コピー前に、コピー先にフォルダがあるかどうか存在チェックを
入れてたんですが、これをどかして実行してみたら、早くなりました。

コピーするファイル毎にこのチェックを入れてしまってたのがまずかったのかな・・・。
遅くしていた箇所が分かったので、なんとかなりそうです。
REEさん、woodさん、ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました