指定されたメッセージ仕様で要求メッセージを作成し、サーバーの思考cソケットに送信するにはどうすればよいですか?クライアントとサーバーの通信にはバイナリプロトコルが採用されています。次のアプローチは正しいですか?
与えられたメッセージ仕様:
フィールド形式の長さの値 ------------ ------ ------ -------- requesID Uint16 2 20 requestNum Uint16 2100 requestTitle文字列10データsring
/**************アプローチ1****************/
typedef unsigned short uint16;
typedef struct {
uint16 requesID [2];
uint16 requestNum [2];
unsigned char requestTitle [10];
} requesMsg;
…
requesMsg rqMsg;
memcpy(rqMsg.requesID、 "\ x0 \ x14"、2); // 20
memcpy(rqMsg.requesNum、 "\ x0 \ x64"、2); // 100
memcpy(rqMsg.requesTitle、 "title01"、10);
…
send(sockfd、&rqMsg、sizeof(rqMsg)、0);
/**************アプローチ2****************/
unsigned char rqMsg [14];
memset(rqMsg、0、14);
memcpy(rqMsg、 "\ x0 \ x14"、2);
memcpy(rqMsg + 2、 "\ x0 \ x64"、2);
memcpy(rqMsg + 4、 "title01"、10);
…
send(sock、&rqMsg、sizeof(rqMsg)、0);