[zeromq-dev] How to manipulate message???

只和你 843259180 at qq.com
Fri Jun 20 16:45:42 CEST 2014


Hi,everyone! 
 I am a new learner for zmq,I am totally confused with the different kinds of messages and the methods of receiving or sending message.In the guide book,the methods changed with every several examples.I can not fully understand the difference between these methods.Here is one test example:
void *context = zmq_ctx_new ();
 void *server = zmq_socket (context, ZMQ_ROUTER);
 zmq_bind (server, "tcp://192.168.199.152:5671");
void *client = zmq_socket (context, ZMQ_DEALER);
zmq_connect (client, "tcp://192.168.199.152:5671");
s_send(client,"hello");
s_dump(server);‍

I did not call s_set_id() method ,But why did i receive an identity from s_dump()????
Here is another test example.
void *context = zmq_ctx_new ();
 void *server = zmq_socket (context, ZMQ_ROUTER);
 zmq_bind (server, "tcp://192.168.199.152:5671");
void *client = zmq_socket (context, ZMQ_DEALER);
zmq_connect (client, "tcp://192.168.199.152:5671");
s_send(client,"hello");‍

s_recv(server);
s_recv(server);
Yes, I call s_recv() for two times.For the first time,there is a null string,for the second time,I get "hello".So how the null string can come???According to the Guide book, The REQ/REP socket will insert a null delimiter into message before data by default.But here i am using ROUTER/DEALER and i did not add a null delimiter.So where did the null delimiter come from??Actually,I thought i should receive an identity randomly generated by ROUTER socket  ‍for the specific connection for the first receive.But it turns out to be a NULL string.What makes the result so different between the above two examples???Who can explain all these weird things for me ???Thanks so much.Cause this reallly drives me creazy especially when i learn CZMQ!!!!!(Another binding for zmq again!Oh god!)‍
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20140620/914c665f/attachment.htm>


More information about the zeromq-dev mailing list