On Mon, Jul 12, 2010 at 2:17 PM, Chuck Remes <[email protected]> wrote: > On Jul 12, 2010, at 1:04 PM, Peter Alexander wrote: > >> On Mon, Jul 12, 2010 at 1:45 PM, Chuck Remes <[email protected]> wrote: >>> On Jul 12, 2010, at 12:18 PM, Steven Clark wrote: >>> >>>> Forgive me a simple/stupid question here- >>>> >>>> To make use of ZeroMQ, do both ends of a simple network connection >>>> need to be programmed with ZeroMQ, or can one endpoint use ZeroMQ and >>>> the other use low-level (Berkeley-style) sockets? >>>> >>>> I have a situation where a device (microcontroller-based) connects >>>> periodically to a TCP server, sends/recvs some data, and disconnects. >>>> The server sends some filtered form of the data to other network >>>> endpoints. Currently everything is written using low-level sockets. >>>> I'd like to switch the server to use ZeroMQ so I can take advantage of >>>> Publisher/Subscriber sockets, etc for the distribution of data from >>>> the server. Should/can I make the link between the device and the >>>> server use ZeroMQ, given that I can't exactly port ZeroMQ to run on >>>> the microcontroller platform? >>>> >>>> In the event that I can use it for the device connection, is the PAIR >>>> topology the correct one to use? What happens if the device doesn't >>>> shut down the connection cleanly (which happens fairly often)? Is >>>> there any danger of getting stuck in a FIN_WAIT state? >>> >>> You can use regular sockets but you need to conform to the 0mq wire >>> protocol. >>> >>> See: http://api.zeromq.org/zmq_tcp.html >>> >>> I think you could probably get something working on the microcontroller >>> platform for SUB sockets pretty easily. >>> >> >> Correct me if I'm wrong here.. zmq_poll() can also be used. And I >> believe Martin is working on making this transparent for the future. > > zmq_poll() doesn't help in this situation. He wants to be able to talk to 0mq > sockets from a device that does NOT have the 0mq library. To do so, the > application logic behind the regular socket will need to "speak" the 0mq wire > format. >
Chuck you know more about this stuff then I do, but if he wanted to, couldn't he use a standard socket in the 0mq application to communicate with the with the "foreign" device. Granted zmq_poll() does add a little more overhead. zmq_poll(3) states.. "For each zmq_pollitem_t item, zmq_poll() shall examine either the ØMQ socket referenced by a 0mq socket or a standard socket specified by the file descriptor fd" > cr > > _______________________________________________ > 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
