プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。
前回、質問しました「バード」という者です。
ソケットプログラミングについて質問します。

PC1から、jpegやmpegファイルを送信しPC2で受信するというプログラムをC言語で作ってみたいと思っています。

以前、少しだけJAVAプログラミングでPC1(送信側)からPC2(受信側)へデータを送信するプログラムを作ったのですが、作ったプログラムの概要を以下に示します。

[送信側]
(ファイルオープン)
InputStream in = new FileInputStream(ss);
BufferedInputStream bin = new BufferedInputStream(in);


(データを読みsendメソッドにて随時送信)
while((c = bin.read(buffer, 0, buffer.length))!=-1){
dPacket = new DatagramPacket(buffer,buffer.length,iAddress,port);
dSocket.send(dPacket);
}


(ファイルとソケットクローズ)
dSocket.close();

[受信側]
(ファイルオープン)
OutputStream out = new FileOutputStream(args[1]);
BufferedOutputStream bout = new BufferedOutputStream(out);


(送信側から来たデータをreceiveメソッドにて受信)
while(true){
dPacket = new DatagramPacket(buffer,buffer.length);
dSocket.receive(dPacket);
}


(ファイルとソケットクローズ)
dSocket.close();

上記に示す様に、ファイルをオープンし、DatagramSocketとDatagramPacketクラスを用いて送受信し最後に、ファイルをクローズするという形式をとっていました。

C言語の場合でも、ファイルオープン→send関数,receive関数等を用いて送信・受信→ファイルクローズという形をとる事ができるのでしょうか?FTPプログラムやエコープログラムを、よく見かけるのですが・・・・

A 回答 (1件)

ソケット通信の基本は変わりません。


ソケットオープン→send|recvで送信|受信→ソケットクローズです。
CではWinSockを使うことになると思います。
いろいろサンプルのあるページはありますので参考に作ってみてください。

参考URL:http://www.02.246.ne.jp/~torutk/cxx/socket/win32 …
    • good
    • 0
この回答へのお礼

こんばんは。
お返事が遅くなってしまい申し訳ございません。

もう一度頭の中を整理してから書き込みしたいと思います。

ありがとうございました。

お礼日時:2005/11/01 20:37

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