別のサーバーからファイルを受信し、それをクライアントに送信するサーバー (servera を呼び出す) について問題があります。問題は、クライアントがファイル サイズとして 0 を受け取るため、ファイルのバイトがゼロになることです。
/* receive file size from serverB */
recv(s,&bytes,sizeof(bytes),0);
/* send file size to client */
send(file_descriptor,&bytes,sizeof(bytes),0);
bytes = ntohs(bytes);
/* receive (from serverb) and send immediately (to client)*/
while (total != bytes) {
nread = read(s,&c,sizeof(char));
if(nread == 1){
send(file_descriptor,&c,sizeof(c),0);
total += nread;
}
}
どうしたの?