こんにちは、クライアントとサーバーのようなネットワークから C++ でファイルを送受信する 2 つのプログラムをシミュレートしようとしています。まず、ファイルを 4096 バイトのページに分割し、それを他のプログラムに送信してファイルを作成する必要があります。私がネットワーク経由でファイルを送受信する方法は、書き込みと読み取りです。したがって、クライアント プログラムでは、パッケージを受け取ってファイルに入れる関数を作成する必要があります。パッケージをファイルに入れる方法がわかりません。たとえば、ファイルに 2 つのページがあり、これらの 2 つのページを使用して別のファイルを作成する必要があるとします。また、順番が合っているかどうかもわからないので、ファイルを作成して正しい位置に配置する必要があります。
/*consider the connections are ok and the file's name is at char* name*/
int file=open(name,"O_CREAT | O_WRONLY,0666);
char buffer[4096];
int pagenumber;
for(int i=0;i<page_number;i++){
read(socket,&pagenumber,sizeof(int));
read(socket,buffer,sizeof(int));
write(file(pagenumber*4096),buffer,4096);
}
このコードは pagenumber=0 では機能しますが、pagenumber=1 では何も起こりません! 手伝って頂けますか?前もって感謝します!