私のプロジェクトでは、プロトコル (変更不可) は次の構造を指定します。
typedef struct {
long type;
char username[USER_NAME_MAX_LENGTH];
int ipc_num;
}MSG_LOGIN;
typedef struct{
long type;
int msg_type;
char send_time[6];
char sender[USER_NAME_MAX_LENGTH];
char receiver[USER_NAME_MAX_LENGTH];
char message[MAX_MSG_LENGTH];
}MSG_CHAT_MESSAGE;
typedef struct{
long type;
int request_type;
char user_name[USER_NAME_MAX_LENGTH];
}MSG_REQUEST;
クライアントはこれらの構造のいずれかをサーバーに送信でき、サーバーはそれに応じて反応する必要があります。私はサーバーを書いていますが、サーバーmsgrcv()
を受信する方法がわかりません。そのような構造体が 1 つしかない場合は簡単です。そのような型の空の構造体へのポインターを渡すだけです。しかし、どちらを受け取るか前もってわからない場合はどうすればよいですか? 定義するだけstruct generic {long type; char buffer[BIG_NUMBER];}
ですか?もしそうなら、データを個々の変数に抽出することはできますか?