zeromq / clrzmq4

ZeroMQ C# namespace (.NET and mono, Windows, Linux and MacOSX, x86 and amd64)
GNU Lesser General Public License v3.0
241 stars 112 forks source link

Please, make release with libzmq v4.3.4 included #207

Open AntiTenzor opened 3 years ago

AntiTenzor commented 3 years ago

Modern libzmq contains long-waited support of IPC protocol for Windows. It would be very convenient for your users to make a fresh release with libzmq v4.3.4 included.

Thank you very much in advance!

PS I was lucky enough to update native libzmq under ClrZmq4 , but it was REALLY a headache.

mattrjackson commented 3 years ago

Just passing along my experience, since I'm just testing this for potential use in a project. There's presently a bug in 4.3.4 that breaks debugging in VS (https://github.com/OpenCppCoverage/OpenCppCoverage/issues/141), so my thought is you probably want 4.3.5 (whenever that is released) before using this for testing Windows IPC (which is my use case as well). In the meantime, below is a recipe that got things working for me. Not saying this is the right long-term solution, but it solved my problem.

  1. Pull and build the active libzmq repo, which incorporates the bug fix for the VS debug issue.
  2. Pull the clrzmq4 repo, and add the following snippet to line 61 of zmq.cs. This fixes the message size changing from 32 to 64 at some point in the evolution of new libzmq versions.
    if (minor >= 3)
    {  
    var ctx = new ZContext();
    sizeof_zmq_msg_t = zmq_ctx_get(ctx.ContextPtr, 6);
    ctx.Terminate();
    }
AntiTenzor commented 3 years ago

Thank you for this snippet!

so my thought is you probably want 4.3.5 (whenever that is released)

I'm waiting official release of native libzmq v4.3.5 very much for a very long time. I'm expecting IPC protocol to be about 10 times faster than TCP. =) And I expect it will work in new release. At the moment my experiments with Windows 2019 shows, that IPC doesn't work.