• ベストアンサー

Cでのネットワークファイルの読み書き

お世話になります 環境:WindowsNT4.0 VC6.0のクライアント、サーバー 多数のクライアント側からサーバ1台にあるファイルを 読み書きするプログラムは、できますか? 方法、参考文献、参考URLあれば教えてください 宜しくどうぞ

  • phoo
  • お礼率85% (107/125)

質問者が選んだベストアンサー

  • ベストアンサー
  • cse_ri
  • ベストアンサー率29% (74/253)
回答No.1

別に難しいことはないですよ。 Win32APIをコールして(WNetAddConnection2だったかな?) サーバに接続し、必要ならばドライブ接続もします。 後は普通にファイルオープン→リード/ライト→ファイルクローズ という一連の処理を記述します。 注意点としては、書込み時は排他がきっちりかかるようにすること と、ファイルオープン時に他のクライアントが排他をかけているか どうか気をつけるくらいでしょうか。

phoo
質問者

補足

cse_riさん 早々の回答ありがとうございます WNetAddConnection2はネットワークの割り当てをする 関数なんですね。 さらに質問なのですが、 排他制御は具体的にどうやってかけるのですか? たびたび、すみませんが宜しくおねがいします

その他の回答 (1)

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.2

例えば、serverという名称のマシンに共有名shareの なかにあるfileとうファイルを使うという程度のことなら、 fopen("\\\\server\\share\\file","r") で、できます。あとは、いつもローカルの場合と同じ。 ただ、書くことがあるなら、排他制御をしっかりと プログラムする必要はありますね。 どうするかは、ケースバイケースかな。

phoo
質問者

補足

terra5さん 回答ありがとうございます。 意外と簡単なことで悩んでいました。 ところで排他制御はどのように行うのですか? 度々の質問ですみませんが回答、宜しくお願いします。

関連するQ&A

  • VC6.0「WindowsNT Service Programming」について

    OKWebメンバー様 おせわになります。phooです WindowsNT4.0クライアント・サーバ上で動くVC6.0で サービスプログラムを開発しています。 端末のホスト名、端末の時刻、サーバの時刻をファイルに出力するのをサービス化するプログラムです VC6.0は初心者です。もちろんサービスプログラムも初めて作ります サービスプログラムの文献も探したのですがなかなかない状況で ソフトバンクの発行する本で 「WindowsNT Service Programming」 (Kevin Miller-著 豊田 孝-翻訳・監修) という本があると聞きました。 本屋にいったら現在、どこも売り切れ状態です。 ぜひ見てみたいと思っています。 手に入れる方法ありますか? また他の参考になる本、URL、豊田 孝さんのe-mailなど 教えてください。 宜しくお願いいたします。

  • 不可能なんでしょうか?

    windowsNTサーバにLinuxをクライアントで参加させたとき、ファイルの共有等が可能でしょうか?また、参考文献等がありましたら教えてください。

  • ファイル送信方法について

    再びpcg733です。 以下の環境で行う場合、 FTP以外で簡単にクライアントにファイルを送信する方法が ありましたらご教示下さい。 出来れば具体的に答えていただければ幸いです。 サーバー:WindowsNT Server4.0 + ASP クライアント:WindowsNT Workstation4.0 開発ツール:ORACLE Developer(Webあり) ブラウザ:IE5.X 再びですみませんが、お願いします。

  • ネットワークへの接続がすごく遅い。

    サーバがwin2000サーバで、クライアントがwinXPですが、サーバ内のファイルへの接続が大変遅くて困っています。 ファイルへアクセスするのにいったん固まったように見えてから表示されます。インターネットは問題なく繋がります。 win2000のクライアントも数台あるのですが、そちらはサクサク動きます。 XPだけすごく遅いです。 LANの繋ぎ方などは、管理者ではないので不明です。 そちらの知識も無いので・・・・すいません。 もし、XP側、もしくはサーバ側で何か設定をすれば解決するのであれば方法を教えて頂きたいのですが。

  • OFFICE2000でネットワーク上のファイルが上書きできない

    いつもお世話になっています。 職場でネットワークを構築し1台のPCをサーバーとして 使用しています。 ところが、突然サーバー上のファイルをクライアントから開き、上書きしようとすると上書きできませんとメッセージが表示されるようになってしまいました。 以前は正常に上書きできていました。 何か、原因はありますか? なお、ファイル、フォルダ共に読み取り専用のチェックは外してあります。 また、everyoneフルコントロール権限もつけています。 環境はOSはWIN XP PRO、OFFICEは2000です。

  • 共有フォルダのアクセス解析

    VB.netかVBScriptかCで共有フォルダ内にあるファイルにいつ誰がアクセスしたのか解析するプログラムがあったらいいなと思い、作りたいのですが、もし分かる方がいらっしゃったら参考URLか方法をご教示頂きたいです。アクセス解析する環境はサーバ側とクライアント側の両方から解析したいです。

  • 実行および文字列の受け渡し

    VC++6.0で、以下のような事をしたいのですが、 何か良い方法ありませんか? クライアント側から、サーバーのURLを開くと同時に、 そのURLの「input type="file"」に、 クライアント側で指定したファイル名が入力される方法。 よろしくお願いします。

  • ストアドプロシージャのファイルサイズの調べ方

    お世話になります。 オラクルに登録したストアドプロシージャのファイルサイズを調べる手段についてお聞きしたいと思います。 クライアントでテキストファイルに落すこと無く、サーバーで登録してあるプロシージャのファイルサイズを一覧で取得するようなバッチ処理を考えています。 プロシージャのファイルサイズを取得できるのか、よく分からないのですが、ご存知の方、お知らせください。 サーバー環境 windowsNT oracle8

  • ファイルの作成

    サーブレットでサーバー側にファイルを作ることは出来るんですが、クライアント側にファイルを作ることがどうしても出来ません。 どのようにしたら出来るのでしょうか? 出来れば、プログラムの例などがあればありがたいんですが。

  • ファイルダウンロードについて

    現在、クライアントアプリから指定サーバーに接続し、 クライアントアプリのバージョンアップ版があれば、 ダウンロードするという機能をヘルプ等を参考に 実装しており、CHttpFileを使用してファイルを読み込み バッファに格納までは出来たのですが、ファイル名を 指定して保存する事ができません。 どなたかご教示願えませんでしょうか? 環境はVC++6.0 MFCです。

専門家に質問してみよう