내가 메시징을하고있어 그래픽 인터페이스 사이를 통과하는 몇 가지 메시지를하고 있어요
다음과 같은 방식으로 ZMQ를 사용합니다 :
int main()
{
context_t context(1);
socket_t publisher(context, ZMQ_PUB);
publisher.bind("tcp://127.0.0.1:50000");
//This sockets takes charge of the python publishing
socket_t send_py(context, ZMQ_SUB);
send_py.bind("tcp://127.0.0.1:5557");
socket_t receive_py(context, ZMQ_SUB);
receive_py.connect("tcp://127.0.0.1:5558");
receive_py.setsockopt(ZMQ_SUBSCRIBE, NULL, 0);
zmq::message_t control_signal(sizeof(float));
zmq::message_t control_signal_second(sizeof(float));
cout<<"flag"<<endl;
publisher.send(control_signal);
cout<<"flag_1"<<endl;
send_py.send(control_signal_second);
cout<<"flag_2"<<endl
}
나는 이미 포트를 가지고 놀았습니다. 나는 포트가 열려 있다고 확신합니다.
코드는 컴파일하지만 나는 다음과 같은 출력을 얻을 :
flag
flag_1
terminate called after throwing an instance of 'zmq::error_t'
what(): Operation not supported
Aborted (core dumped)
가 제대로 그 중 하나를 게시되어 있지만, send_pyu.send 일을시키는되지 않습니다.
고마워 당신이 가입자로 send_py
을 정의한 나타납니다
메시지 교환에 대한 자세한 내용을 제공 할 수 있습니까? 누가 전송하고 누가 수신합니까? 코드에서 명확하지 않습니다. – raffian