クライアントからサーバーへファイルをアップロードするコードを作成する必要があります。クライアントからサーバーへソケットを介して構造体を渡す
は、クライアント側では、私は構造、
typedef struct upload_file
{
char *filename;
char *filebuffer;
}upload_file;
私はコマンドライン引数からファイル名を取得していますを宣言しています。
main関数では、ファイル名に構造変数を割り当てています。
upload_file.filename = argv[1];
は、その後、私は構造のバッファ値にそれをコピーするバッファ&に入れて、ファイルの内容を読んでいます。次のように私はソケットに構造を書いています。その後
strcpy(upld.buffer,tmp); //tmp is a buffer which will contain the file content
、
write(sd, &upld, sizeof(upld));
この部分は、クライアント側で結構です。サーバ側では、構造全体を読み取ると&ファイルの内容をどのように分けるのですか?&ファイル名?
また、クライアント側からのバッファ値(ファイルコンテンツ)は、&とサーバ側で使用可能にできますか?
どうすればよいですか?
ありがとうございます。
データをoutbuffにシリアル化するときにp.ageにp.nameを書き込んでいませんか? – dimir
'p.age'を書いた後、' outbuff + = sizeof(int) 'を追加する必要があると思います。 – ugoren
はい、どちらも私はもともと年齢があったので、必要ではなかったが、潜在的なアラインメントの問題を処理するために変更しました。今修正しました。 – paxdiablo