![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
Master01 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 22.8.2007 Репутация: нет Всего: 2 |
Привет,
Есть вот такой код с использованием ZeroMQ. 2 потока , один отсылает реквесты, второй отвечает и т.д. в том виде как привелено ниже всё работает ок. Но если изменить тип сокетов с ZMQ_REQ на ZMQ_XREQ или ZMQ_REP на ZMQ_XREP то всё валится - вылетают ексепшены при socket.recv или socket.send. В чём может быть дело?? Такое чувство что я что-то не понял ...))) VS2010 Express; ZMQ 3.1; Boost 1.48 Заранее спасибо!
|
|||
|
||||
tzirechnoy |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 1 Всего: 16 |
1) При чём тут XREQ и неблокирующиеся операцыи? Это совсем несвязанные вещи.
2) При связывании XREQ с REP обязательно использовать multi-part messages. Это как минимум. Usage patterns раскиданы по всей сети, но я сейчас не вижу, зачем они были бы Вам нужны. |
|||
|
||||
Master01 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 22.8.2007 Репутация: нет Всего: 2 |
Ха-ха.
![]() Просто надо было разобраться с этой библиотекой. Думал снаскока по-быстрому, в инете что-то почитал .... Вообщем, в зависимости от типа сокет довешивает/снимает обертки (envelopes), например РОУТЕР довешивает адрес возврата и пр. Это всё пересылается как multipart месаги, т.о. нужно считывать все части из сокета или использовать сокеты которые всё лишнее снимут сами, как например REP. Библиотека зачётная только Guide на оффиуиальном сайте Достоевский писал - читается как художественное произведение, что сбивает. |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |