ØMQ のサンプルコードが謎に動かなかったりして、困った。。。
要求としては、PUSHをする側をC++で作ろうとしていて、PULLはnode.jsでします。
https://github.com/imatix/zguide のサンプルコードを使いました。
同じような処理なのに動いたり動かなかったりして、困ったのですが、一応下のコードでやりたいことは出来ました。
(何の違いがあったんだろう。)
#include "zhelpers.hpp" int main (int argc, char *argv[]) { zmq::context_t context(1); // Socket to send messages to zmq::socket_t sender(context, ZMQ_PUSH); sender.bind("tcp://*:5558"); //doesn't work with sender.connect("tcp://localhost:5558") // Process tasks forever while (true) { zmq::message_t message; s_sleep(500); printf("sending...\n"); // Send results to sink message.rebuild(6); sprintf((char *) message.data(), "Hello"); //doesn't work with snprintf, fffffffffffff sender.send(message); } return 0; }
サーバー側はhttps://github.com/JustinTulloss/zeromq.node のworker.js をまるっと使ってます。