指定されたメッセージ仕様で要求メッセージを作成し、サーバーの思考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);