[nanomsg] Re: Interested in using nanomsg

  • From: Jeff Archer <jsarcher@xxxxxxxxxxxxxxxxxxxxxx>
  • To: Martin Sustrik <sustrik@xxxxxxxxxx>
  • Date: Fri, 20 Sep 2013 11:05:13 -0400

Yes, I have read some of the background with ZeroMQ on your site.  So, I'm
guessing that you are developing primarily on 'nix.  My in-house solution
uses NamedPipes.  Maybe, with some guidance from you, I could fill-in this
part of nanomsg.  How is the support for BUS, PUBSUB, and REQREP which I
will be needing for my console implementation?


On Fri, Sep 20, 2013 at 10:27 AM, Martin Sustrik <sustrik@xxxxxxxxxx> wrote:

> Hi Jeff,
>
>
>  I'm just looking into nanomsg and considering using it in my product and
>> wanted to get some expert advice before proceeding.  If we proceed, I
>> (my company) would probably become a contributor.  I notice that it is
>> still considered alpha which gives me some reservations.  Can some
>> please advise me on the overall stability of the project and which parts
>> are working/stable vs. not quite there yet?
>>
>> My product is an automated microscope system running on Windows 7 x64.
>>   We have need for local interprocess communication currently (to
>> replace some non-standard, quirky in-house stuff) and we are planning to
>> expand to a network based system with multiple units communicating with
>> a central operator console.
>>
>
> Your main problem is inter-process communication on Windows platform.
>
> Short answer is: The "ipc" transport doesn't work on Windows platform and
> you have to use TCP loopback connections instead ("tcp://127.0.0.1:5555"
> and such).
>
> Long answer requires some historical background.
>
> At the time I was devising ZeroMQ I've used BSD socket API to internally
> handle the underlying connections. The problem with that is that Windows
> IPC mechanism (NamedPipes) has no BSD socket API. All it has is IOCP API.
> Thus, there isn't and never will be native NamedPipes support in ZeroMQ.
>
> Thus, one goal I had when starting nanomsg project was to be able to use
> IOCP to handle underlying connections. And so it does. It uses IOCP to
> handle TCP connections, for example. However, there's a second step still
> missing -- implementing IPC transport for Windows in such a way that it
> uses NamedPipes.
>
> Hope this helps you to decide,
> Martin
>
>

Other related posts: