C で定義された次の構造があり、Linux のクライアントとサーバー間のTCP 接続を介して Berkeley Socket を使用して送信したいと考えています。
struct Argument{
int pid;
int length;
chat op;
char *data;
};
ローカル送信マシンで可変サイズのデータを割り当てるために使用できるポインターである「char *data」があるため、この構造体を2回に分けて受信側に送信する必要があります。初めて、固定変数、つまり最初の 3 つの変数のみを送信します。そして、受信時に、長さのサイズのバッファーを割り当てて、2 回目のデータ部分を受信します。
だから私の質問はとにかく、この構造を可変データフィールドサイズで反対側に1回だけ送信することです.2回ではありませんか?
if (write(peer_fd, (struct Argument*) arg, sizeof (struct Argument)) < 0)
{
close(peer_fd);
return -1;
}
どうもありがとう。