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

環境:Windows2000とUNIXサーバ
開発:VisualStadioVer6.0
言語:C言語

やりたいこと:
   クライアントからサーバにファイル送信を行う。

ただし、FTP通信を使わないで、別ポートにて、Winsockの
send等でFTPもどきのファイル送信を行いたい。

ソケット通信はデータ送信なのは知っているのですが、
どうしても実現したいので、知ってる方は教えてください。

A 回答 (1件)

普通にできますよ。


socket(),bind(),listen(),accept()
socket(),connect()
等で socket()をセットアップしたら
こんな感じでやるだけです。

int socket;
char buf[4096];
const char* filename;
FILE *file;
int num_read;

送るほう:
if( !(file = fopen(filename,"rb")) ) return;//error
while( num_read = fread(buf,sizeof(buf),1, file) )
if( write(socket,buf,num_read) < num_read )
return; //error
}
受け取るほう:
if( !(file = fopen(filename,"wb")) ) return;//error
while( num_read = read(socket,buf,sizeof(buf)) )
if( fwrite(buf,num_read,1,file) < num_read )
return; //error
}
    • good
    • 0
この回答へのお礼

ありがとうございます。
試してみます。

お礼日時:2003/09/12 14:48

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