В моем проекте, протокол (неизменяемый) определяет следующие структуры:msgrcv() - получение различных сообщений
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()
для их получения. Когда у меня есть только одна такая структура, это легко - я просто передаю ему указатель на пустую структуру такого типа. Но что, если я заранее не знаю, какой из них я получу? Должен ли я просто определить struct generic {long type; char buffer[BIG_NUMBER];}
? Если да, смогу ли я извлечь данные для отдельных переменных?
Какой механизм вы используете для IPC? – Kitsune
Очереди системы V. –