Передача структуры между процессами, unix сокеты |
Здравствуйте, гость ( Вход | Регистрация )
Передача структуры между процессами, unix сокеты |
pulo |
21.2.2011, 2:49
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 21.2.2011 Пользователь №: 2426 Спасибо сказали: 0 раз(а) Репутация: 0 |
Вобщем пытаюсь передать структуру вида:
используя unix сокеты, есть демон который покдлючается к оболочке на Qt, если считывать/записывать используя не qt'шные recv и write то все гуд. Проблема возникает при считывании используя Qt методы: сервер создаю:
и соответственно метод:
в Qt структуру объявил как:
но вот значения принимаются явно не те, что отправляются клиентом.
Причина редактирования: применяй теги!
|
|
|
panter_dsd |
21.2.2011, 10:25
Сообщение
#2
|
Жаждущий знаний Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: 3 |
Привел бы код записи в сокет.
|
|
|
pulo |
21.2.2011, 11:24
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 21.2.2011 Пользователь №: 2426 Спасибо сказали: 0 раз(а) Репутация: 0 |
Демон отправляет так:
так нормально считывает:
|
|
|
xls |
21.2.2011, 14:40
Сообщение
#4
|
Студент Группа: Участник Сообщений: 44 Регистрация: 6.9.2010 Пользователь №: 2013 Спасибо сказали: 7 раз(а) Репутация: 2 |
A data stream is a binary stream of encoded information which is 100% independent of the host computer's operating system
То есть нельзя записать "raw unencoded binary data" в демоне и считать их через "stream of encoded information" |
|
|
pulo |
21.2.2011, 15:36
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 21.2.2011 Пользователь №: 2426 Спасибо сказали: 0 раз(а) Репутация: 0 |
Решил проблему просто:
с классами потоков так и не получилось реализовать. |
|
|
kwisp |
21.2.2011, 18:30
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
pulo,
лучше конечно проверять сколько ты вычитал. и читать пока есть доступные байты. bool bytesAvaliable() что ли. |
|
|
Текстовая версия | Сейчас: 26.12.2024, 14:12 |