IPC not supported on windows

Description

I see you have a note that IPC is not supported on windows.

Looking further into this, I see in the library that there just isn't an implementation and the note claims that Windows doesn't support named pipes. That is just not true.

See: http://msdn.microsoft.com/en-us/library/aa365590(v=vs.85).aspx

Do you just need someone to create the implementation?

Cheers
Mike Sheridan
Westfork Consulting

Environment

None

Activity

Show:
Martin Sustrik
January 21, 2011, 8:15 PM

The problem win Win named pipes is that there are no associated file descriptors (sockets). Instead it's a HANDLE and thus it cannot be used with select().

To support named pipes new polling mechanism should be implemented (IOCP?) There have been some discussion about that on the mailing list, even some implementation attemps, but no working code so far.

msheridan
January 21, 2011, 8:58 PM

Isn't that what this example does (at least, essentially):

http://msdn.microsoft.com/en-us/library/aa365603(v=vs.85).aspx

Forgive me,for I haven't looked through much of the source for the library yet; is it that the design didn't put in an abstraction between itself and the underlying socket features, so all the code relies very closely on sockets and would be difficult to incorporate other underlying models (as would be needed here)?

Martin Sustrik
January 21, 2011, 9:05 PM

Yes, that's it.

The design is rather free. Currently we support select, poll, epoll, kqueue and dev/poll. So, if you feel like it, you can write IOCP polling mechanism and implement IPC transport on top of that.

Shaukat Mahmood Ahmad
June 16, 2013, 7:05 PM

I am new to zeroMQ, and was trying to run PubSub example (weather update server) which uses IPC, is there any option to run PubSub without using IPC?
Do zeroMQ project has any Internal documentation like many open source projects have (e,g MySQL), this will be very helpful to proceed with implementation of IPC on windows OS.

Assignee

Unassigned

Reporter

msheridan

Labels

None

Priority

Configure