LINUX.ORG.RU

Очереди сообщений

 ,


0

1

Доброго времени суток.

Изучаю очереди сообщений в Linux. Написал программу для обменя сообщениями по типу «клиент/сервер». Все работает хорошо пока не добавляю в передаваемую структуру сообщения указатели. Как только я это делаю при приеме сообщения серверная програма выдает «Ошибка сегментирования».

Структура сообщения:


struct Message
{
   long type;
   int proccesId;
   int* p;
};

Т.е. при такой же структуре только «int p» все работает прерасно. В чем проблема? Может кто-то сталкивался с подобным?

Указатели можно передавать лишь в пределах одного процесса. Для других процессов указатель с тем же значением - это другая область памяти, и не обязательно доступная.

quiet_readonly ★★★★ ()
Ответ на: комментарий от quiet_readonly

ааа... У каждого процесса ведь свое адрессное пространство, точно :( Т.е. способа передачи указателей между процессами нет вообще?

Liafar ()

добавляю в передаваемую структуру сообщения указатели.
«Ошибка сегментирования».

Неужели? И на что по-твоему должен указывать указатель на стороне адресата?

invy ★★★★★ ()
Ответ на: комментарий от Liafar

да я уже заметил, пардоньте :) тему не прочёл сразу написал :)

invy ★★★★★ ()

rpc, dcom, corba

только шарить объекты, это вроде как плохая практика.

dimon555 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.