2015-03-11 2 views
2

Я использую связь zmq req/rep pattern. Реализация довольно проста, req отправляет некоторые данные и ждет на recv. Реп получает данные, обрабатывает и отвечает.Причина для кода ошибки zmq 156384763

//REQ 
zmq_connect 
zmq_send 
zmq_recv //blocking 
zmq_close 

//REP 
zmq_bind 
while(true) { 
    while(data_received) { 
    //miscellaneous process 
    zmq_recv //non-blocking 
     Print zmq_error_no if zmq_recv fails 
    } 
    zmq_send 
} 

В стороне REP, во время тайм-аута zmq_recv zmq_error_no 11 будут напечатаны. Но иногда я получаю ошибку no 156384763. Может ли кто-нибудь сказать смысл этой ошибки?

+0

Посмотрите, что я нашел: [Результаты поиска для "zmq 156384763"] (https://www.google.com/search?q=zmq+156384763&ie=utf-8&oe = utf-8) –

+0

@ThomasMatthews стыдно за вас! Ошибка в Google: что дальше? –

ответ

3

Это родной ZeroMQ ошибка EFSM:

Операция zmq_send() не может быть выполнено на данной розетке на данный момент из-за сокет не находится в соответствующем состоянии. Эта ошибка может возникать с типами сокетов, которые переключаются между несколькими состояниями, такими как ZMQ_REP.

Источники: zmq_send, zmq.h

Смежные вопросы