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
