親子におすすめの新型プラネタリウムとは?

FTPについて初心者なので教えてください。
たまにプログラムの中にFTPを使用してクライアントからサーバーにファイルをアップロードしているプログラムを見るのですが、自分としてはただ単にファイルをサーバーにコピーするプログラムでいいじゃないかと思うのですが、速さとか何か違いがあるのでしょうか?ご教授宜しくお願いします。
ちなみに言語はDelphi7です。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

「ファイルをサーバーにコピーするプログラム」は、基本的に機種依存です。


対して、FTPは全世界共通のプロトコル(通信言語)です。
どちらがより汎用性があるかどうかは、すぐにわかりますよね?

また、企業などの場合は外部との通信を制限するためにファイアーウォールを設置するのが一般的ですが、「ファイルをサーバーにコピーするプログラム」を使った場合は、そのプログラムに合うようにファイアーウォールの制限を緩めてやらなければなりません。
こちらは、場合によっては2個3個以上の通信ポートに及ぶ場合もあります。
FTP通信だけを許可する場合に比べて、どちらがより強固なセキュリティを保てるかは、すぐにわかりますね。
さらに、速度でいえば、単に転送するデータだけの通信であるFTPに対して、Windowsの例ですが、ファイル共有ではGUIの表示情報までをも通信内に含有しているため、速度は遅くなります。

まぁ、もっと挙げていけば切りが有りませんが、自分には、逆にFTP以外の通信を使うことがありえません。
    • good
    • 2
この回答へのお礼

返信ありがとうございます。

ファイルをコピーするプログラムよりFTPを使用してファイルをアップロードするプログラムの方が速度も速いんですね。
これからはクライアントからサーバーにファイルをコピーする場合はFTPを使用することにします。

お礼日時:2006/04/18 17:20

サーバが同一LANにあるのなら,


たとえば,サーバのWEBコンテンツエリアをネットワークドライブとしてクライアント機にマウントしておいて,普通にコピーするのが一番ラクダし早いでしょう.

ところが,「よそのマシンのファイルシステムの一部がネットワークドライブとして見えている」という概念が扱えない人が多いのです.特にWEBコンテンツだと,サーバに置いたときのパス名を考えてリンクを張るとかが必要ですでややこしいのです.で,そういう利用者の面倒を見てられないので,ftpを使わせます.

こういう場合もあるということで.

もう一つ,可能性としては誰がどのファイルを何時アップロードしたか,記録を残すためにftpを使わせているのかもしれません.
    • good
    • 1
この回答へのお礼

返信ありがとうございます。

ただ、今回の質問はGUIでファイルをコピーするのではなく、Exeのプログラムの中でクライアントからサーバーにファイルをコピーする場合です。

一例として参考にさせていただきます。

お礼日時:2006/04/18 17:26

 通常、コピーは「同一パソコン内」のファイル移動しかできません。


 一般のLANでそれができるのは、ウィンドウズが「さも通常のコピーと同じような感覚でアップロードできるプロトコル」を独自に開発しているからです。

 ただし、このプロトコルを利用するには、サーバーとクライアントが両方ともウィンドウズでなければならず、相手が Unix 系のマシンだったりすると使えません。

 FTPプロトコルは30年前からほとんど仕様変更のないまま使われているため汎用性が極めて高く、現行のあらゆるマシンにサーバー/クライアントをインストールすることができますし、自作も手軽です。

 おっしゃるような「単にコピーするプログラム」の場合、相手サーバーの素性が分かっている場合でないと使えない方法なので、そうでないケースではFTPを使うのが一般的です。
    • good
    • 1
この回答へのお礼

返信ありがとうございます。

クライアントとサーバーのOSが異なる場合に、FTPは有効だと言う事が良く分かりました。

お礼日時:2006/04/18 17:15

コピーするだけなら、パーミッション変えられないっすよ


又、本来のFTPはクライアント側のソフトウェアを必要としないものです
コマンドで全部まかなえます

ただし、今の世の中はコンピュータやパソコンに詳しくない人が殆どですので、そういった人を対象に様々なFTPクライアントソフトや、web経由でアップロードする仕組みなどを提供しているにすぎません。


>単にファイルをサーバーにコピーするプログラム
結局、これはどんなプロトコルを利用しているのでしょうか?
web経由の事を言っているのであればFTP経由のほうが速いですよ
    • good
    • 0
この回答へのお礼

返信ありがとうございます。

>web経由の事を言っているのであればFTP経由のほうが速いですよ
同一LAN内のクライアントからサーバーにファイルをコピーするだけなのですが、それでもFTPを使用した方が速度は速いですか?
いまいちFTPを使用するメリットが感じられないのですが何か大きなメリットはありますか?

環境は以下の通りです。
サーバー  :Windows2003
クライアント:WindowsXP

お礼日時:2006/04/18 14:03

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QファイルサーバとFTPサーバの違いは?

違いがよくわかりません。わかりやすく教えてください。

Aベストアンサー

#1さんの補足になります。
難しかったらスミマセン。

FTPはFile Transfer Protocol(ファイル・トランスファー・プロトコル)の略でTCP/IP(通信する時の手順ですね)上で動かすアプリケーションです。
インターネットがまだこんなに普及していない頃、軍、大学、企業等でファイルの送受信の手段として用いてきました。OSはUNIXでした。(少なくとも私か勤めていた会社では)
Windowsの普及でFTPも使いやすくなりましたが、元々は英語の呪文を(命令)を手入力しないとファイルを送受信できませんでした。

ファイル共有の方ですが、TPC/IP以外の通信手順(代表的なのはIPX/SPX、NetBEUI、AppleTalk)でも実現可能です。


基本的には、(昔の考え方になりますが)
FTPの場合は、自分のPCで作業し必要に応じてファイルを送ったり(アップロード)、持ってきたり(ダウンロード)しますのでFTPサーバー上でファイルを開いたりする事は出来ません。(今は出来てしまうんですよね・・・)

一方のファイルサーバーは直接ファイルを作成したり編集したり削除したり出来ます。そのために排他制御(簡単に言うと他のPCが使っているので待ってねという制御)機能を備えています。

#1さんの補足になります。
難しかったらスミマセン。

FTPはFile Transfer Protocol(ファイル・トランスファー・プロトコル)の略でTCP/IP(通信する時の手順ですね)上で動かすアプリケーションです。
インターネットがまだこんなに普及していない頃、軍、大学、企業等でファイルの送受信の手段として用いてきました。OSはUNIXでした。(少なくとも私か勤めていた会社では)
Windowsの普及でFTPも使いやすくなりましたが、元々は英語の呪文を(命令)を手入力しないとファイルを送受信できませんでした。

ファ...続きを読む

QFTPコマンドでディレクトリごとファイル移動できるコマンドはありますか?

タイトルどおりなのですが、FTPでファイルを転送する際に、サブフォルダを含むディレクトリごとファイル転送するコマンドはありますでしょうか。
ディレクトリの中にあるすべてのファイルを移動したいのですが、サブフォルダがたくさんあるので、わざわざディレクトリの場所へ移動してmputを繰り返すのはめんどうで仕方ありません。
よろしくお願いします。

Aベストアンサー

ご使用になるOS環境が書いてないのですが、Linux,BSD等ならncftpで、get -R dir。
Windowsならffftpを使えば良いと思います。

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

Qバッチファイルでサーバーのファイルをクライアントへコピーしたい

サーバーに保存されているファイルを、
クライアントのCドライブへコピーしたい。

各クライアントにバッチファイルを配布して、
それを実行するだけでコピーされるようにしたいのです。

初心者で申し訳ないのですが、何卒よろしくお願いします。
------------------------

下記の記述ですと、普通にサーバーのCドライブへファイルがコピーされます。
しかし、コピー先はバッチファイルを実行したクライアントのローカルディレクトリにしたいのです。

copy \\サーバー名\フォルダ名\ファイル名 C:\

Aベストアンサー

>下記の記述ですと、普通にサーバーのCドライブへファイルがコピーされます。

そんなはずはありません。何かの勘違いでしょう。

>copy \\サーバー名\フォルダ名\ファイル名 C:\

だと、バッチファイルを実行したPCのC:\にコピーされます。

copy \\サーバー名\フォルダ名\ファイル名 C:
と、最後の \ を削れば、バッチファイルがあるのと同じディレクトリにコピーされます。

QDirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)

いろいろ調べましたが不明な点があり、質問します。

WindowsのDOSプロンプトでdirコマンドを打つとフォルダ・ファイルの一覧が表示されますが、その中にファイルサイズが表示されています。
このサイズを合計できるコマンドはありませんか?
DIRコマンドのオプションを調べましたがそれらしいものが見当たりません。
具体的には
C:\xxx\配下に50個程度のファイルがあります。
その50個の合計サイズを知りたいです。
xxxフォルダの親フォルダにはアクセス不可です。

ずーっと悩んでいます。よろしくお願いします。

なお、OSはWindowsNTか2000で使用予定です。

Aベストアンサー

カレントドライブ、カレントフォルダを
C:\xxx\
にした状態で、

dir /s /a-d

/sパラメータででサブディレクトリすべてを検索
/a-dパラメータでディレクトリ以外のファイル(つまり属性に関係なくすべてのファイル

これを実行すると最後にファイルの個数とファイルサイズの合計を表示します。

もし、隠し属性のファイルは合計しないのであれば、

dir /s

だけで良いと思われます。

Qコマンドプロンプトを使ってipアドレスからコンピュータ名を知る方法

ipアドレスは分かっていますがコンピュータ名が分かりません。リモート接続ソフトなどは使えないので、それでコンピュータ名を調べることはできません。
コマンドプロンプトを使ってipアドレスからコンピュータ名を知る方法を教えてください!

Aベストアンサー

なんか回答がバラバラなので整理しましょう。
調査している自分自身が使用している端末は、Windows XPのPCであると仮定します。
また、調べるのは基本的に外部から名前解決可能な名前(No.2さんの言う"2"に相当する名前)とします。

パターン1:
対象のIPアドレスがWindows端末機で、自分が使用している端末と同じネットワークに属しているか同一のWINSサーバを参照しているとき……No.4さんの答えで検索できます。

nbtstat -A <IP Address>

パターン2:
ネットワーク管理者がDNSをきちんと管理しており、対象IPについても管理者の管理下にある場合……以下2つのいずれかの方法で検索できます。

  nslookup <IP address>

または

  nslookup -q=ptr <reverse ip>.in-addr.arpa.
  ex) 192.168.12.1 のIPを調べたい場合、以下のように入力する
  nslookup -q=ptr 1.12.168.192.in-addr.arpa.

  (DNSサーバで逆引きが設定されていないと、正しく検索できない場合があります)

パターン3:
上記以外の場合

外部から名前解決できないので、調べようがありません。または、調べてもそれが正しいホスト名である保証がありません。
そのIPの端末自体に設定されているホスト名を直接調べるしかありませんが、それには実際にそのIPの端末を操作して調べるしかありません。
つまり、No.2さんの回答となるのですが、
IPを使用しているのがWindows PCやUnixサーバなどである保証はないので、確認するコマンドはその端末の種類(OS)によって異なります。

なお、tracert (traceroute)を使用する、という回答がありますが、これはパターン1またはパターン2のいずれかまたは両方を満たしていないと表示されませんので、厳密には正しい答えとはいえません。
(たいていの場合、"tracert <IP address>" や "ping <IP address>"で用が足りてしまうことも多いので、必ずしも間違いではないのですが)

なんか回答がバラバラなので整理しましょう。
調査している自分自身が使用している端末は、Windows XPのPCであると仮定します。
また、調べるのは基本的に外部から名前解決可能な名前(No.2さんの言う"2"に相当する名前)とします。

パターン1:
対象のIPアドレスがWindows端末機で、自分が使用している端末と同じネットワークに属しているか同一のWINSサーバを参照しているとき……No.4さんの答えで検索できます。

nbtstat -A <IP Address>

パターン2:
ネットワーク管理者がDNSをきちんと管理して...続きを読む

QOracle(オラクル)で、日付時刻型の検索方法について

質問させていただきます。
データベースはオラクルを使っていて、
SQL文で、抽出するときにエラーが出て困っています。

日付時刻型が「2005/05/26 19:13:00」という感じで入ってます。
2005/05/26 を抽出したいのですが、
BETWEEN '2005/05/26 00:00:00' AND '2005/05/26 23:59:59'

だと、エラーでできません。
どなた様か、ご教授よろしくお願いしますm(_ _)m

Aベストアンサー

日付検索を行う場合は、以下のように書式を含める必要があります。

col BETWEEN TO_DATE('2005/05/26 00:00:00','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('2005/05/26 23:59:59','YYYY/MM/DD HH24:MI:SS')

ただ、厳密には

col >= TO_DATE('2005/05/26', 'YYYY/MM/DD')
AND
col < TO_DATE('2005/05/27', 'YYYY/MM/DD')

と書くべきでしょうね。

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。

QXCOPYで指定したフォルダとファイルをコピーしたい

C:\AAAフォルダとC:\AAA以下のファイルをコピーしたくて、
XCOPY C:\AAA D:\BBB /E
とすると、コピー先のD:\BBBにはAAAフォルダにあるファイルはコピーされるのですが、AAAフォルダそのものはコピーされません。
XCOPY C:\ D:\BBB /E
とすればコピーできるのですが、そうするとC:\のほかのフォルダもコピーされてしまいます。
EXCLUDEオプションを使うには指定するファイルが多いため、あまり使いたくありません。(コピーする前にMDでコピー先にAAAフォルダを作成するのもなるべく避けたい)
知っている方がいらしたら教えて下さい。

Aベストアンサー

xcopy /e C:\AAA D:\BBB\AAA
複数ファイルのコピーでコピー先が存在しないとき、ファイル名と見なすかディレクトリ名と見なすか聞いてきます。

応答を聞かれるのが嫌なら
echo d | xcopy /e C:\AAA D:\BBB\AAA
でいいはず。

Qバッチ処理でファイルの中身を変数に入れるやり方

あるファイルの中には1行の文字列があります。
このファイルをバッチで読み取り、変数に設定したいです。

例:
test.txt
abcacbacbacbacbacbacbacbacb

test,bat
set DATA=[test.txtを読み込んだ値]

よろしくお願い致します。

Aベストアンサー

これですね。

参考URL:http://www.upken.jp/kb/dqvgHNRUxwFDkmtoqEwfXHUjDrevNv.html


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング