Thanks, Neylor. Would you please give me some code snippet to help me 
understand how to make non-blocking recv call ? I am pretty new in 0mq. Thanks 
in advance.




On Apr 10, 2013, at 7:20 AM, Neylor Ohmaly Rodrigues e Silva 
<[email protected]> wrote:

> In your code the ReceiveMessage function is using the zmq_msg_recv function 
> with depending on the value of the "flags" variable blocks until a message is 
> received and, while blocked, this socket will not be able to send anything. 
> You should use a non blocking recv method and poll for messages or use the 
> built-in zmq poller mechanism.
> 
> Em 10/04/2013 01:14, "Lucas Hope" <[email protected]> escreveu:
>> The router has to receive a message from the dealer first, so the return 
>> envelope/s can be determined. After that, I don't think there are any 
>> restrictions.
>> 
>> 
>> On Wed, Apr 10, 2013 at 1:06 PM, A. Mark <[email protected]> wrote:
>>> It is difficult to help without understanding more detail about your 
>>> application, in general yes you can send/recv in any order on router/dealer.
>>> 
>>> 
>>> On Tue, Apr 9, 2013 at 3:38 PM, Rahul & Piyali Ray <[email protected]> 
>>> wrote:
>>>> Hi Gurus,
>>>>     I have implemented a dealer (server) and router ( as server) using 
>>>> zmq. I would like my application to use dealer or router to both send and 
>>>> receive messages, something like a dealer can send and receive message. Is 
>>>> this possible ? Please see the code that I have written. This works for 
>>>> one way connection ( dealer sends, router receives). But I want it both 
>>>> ways...dealer to receive from router on the same port over the network. 
>>>> Can you please help me find what I am missing ?
>>>> 
>>>> Thanks,
>>>> Tufan
>>>> 
>>>> code:
>>>> 
>>>> int MessageClient::SendMessage(list<string> stringList)
>>>>     181 {
>>>>     182 
>>>>     183     int returnvalue = -1;
>>>>     184     int count = stringList.size();
>>>>     185     for(list<string>::const_iterator sitterator = 
>>>> stringList.begin();
>>>>     186             sitterator != stringList.end();  sitterator++)
>>>>     187     {
>>>>     188         string stringName = *sitterator;
>>>>     189         int length = stringName.length();
>>>>     190         int flag = count - 1;
>>>>     191         count--;
>>>>     192         void* value = &stringName;
>>>>     193         printf("message is %s", stringName);
>>>>     194         if(flag > 0)
>>>>     195             returnvalue = zmq_send(socket, value, length, 
>>>> PM_SNDMORE);
>>>>     196         else
>>>>     197             returnvalue = zmq_send(socket, value, length, flag);
>>>>     198 
>>>>     199         assert (returnvalue == 1);
>>>>     200     }
>>>>     201     return returnvalue;
>>>>     202 }
>>>> 
>>>> 
>>>>                char* MessageClient::ReceiveMessage( int flags)
>>>>     219 {
>>>>     220     zmq_msg_t zmqMessage;
>>>>     221     zmq_msg_init(&zmqMessage);
>>>>     222     int size = zmq_msg_recv(&zmqMessage,socket,flags);
>>>>     223     if(size == -1)
>>>>     224     {
>>>>     225         printf(" no message");
>>>>     226         return (NULL);
>>>>     227     }
>>>>     228     char *string = (char *)malloc(size + 1);
>>>>     229     memcpy(string, zmq_msg_data(&zmqMessage), size);
>>>>     230     zmq_msg_close(&zmqMessage);
>>>>     231     string[size] = 0;
>>>>     232     return string;
>>>>     233 }
>>>>     234 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> zeromq-dev mailing list
>>>> [email protected]
>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>> 
>>> 
>>> _______________________________________________
>>> zeromq-dev mailing list
>>> [email protected]
>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> 
>> 
>> 
>> -- 
>> ---------------------------------------------------
>> Dr Lucas Hope - lucas.r.hope@skype
>> Machine Learning and Software Engineering Consultant
>> Melbourne, Australia
>> 
>> _______________________________________________
>> zeromq-dev mailing list
>> [email protected]
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to