メッセージキューを使用して2つのプロセス間で通信する必要があります。 1つのプロセスが別のプロセスに要求を送信し、他のプロセスが応答を送信します。メッセージキューを使用したプロセス間でのメッセージの受け渡し
たとえば、要求の1つは、プロセスによって開かれたすべてのファイル名を一覧表示することです。私は上記の設計に問題がデータを指しているのchar *ポインタを変更しているlegthファイル名として異なっているが、構造体の大きさは常に一定であるため、受信機は、すべてのrecevingされていないということだと思います
#define LIST_NAMES 1
#define LIST_FILE_NAMES_RESP 2
struct sFileStruct {
unsigned int uiCommand;
unsigned long ulNoOfBytes; // Number of bytes to be parsed in cha* pointer below
char* pRecvData; // file names packed here in response.
};
sFileStruct inData;
// I am filling the data.
int inSize = sizeof(inData);
mq_send(m_qSendDesc, (char*)&inData, inSize, inPriority);
として界面構造をしましたchar *ポインタにアクセスしている間、データとレシーバがクラッシュしています。
1つのmq_sendで完全なデータを送信したいが、静的配列を構造体内に入れたくない。私たちがこれを達成できるメッセージキューを使用する他の方法はありますか?
入力してください。 ありがとう
覚えている:あなたのコードをインデントする場合は、適切にフォーマットされます! –