[zeromq-dev] zyre and upw/limited platform

Osiris Pedroso opedroso at gmail.com
Mon Feb 27 13:30:55 CET 2017


I downloaded netmq-4.0.0.1.zip and tried building it. Same problems.

This is the DevStudio version I am using (as downloaded over the weekend):
Microsoft Visual Studio Community 2015
Version 14.0.25431.01 Update 3
Microsoft .NET Framework
Version 4.6.01586



On Sun, Feb 26, 2017 at 6:30 AM Osiris Pedroso <opedroso at gmail.com> wrote:

> Hi Doron,
>
> Update:
>
>    1. I read the ZTMP specs and understood what I have to do on a message
>    by message.
>
>    2. I rebuilt my machine by installing Windows 10 Anniversary edition
>    and enabling the Linux subsystem on it (
>    https://msdn.microsoft.com/en-us/commandline/wsl/about)
>
>    3. I cloned and successfully built the following projects in Linux:
>    1. zeromq\libzmq
>       2. zeromq\czmq
>       3. zeromq\libzmtp
>       4. zeromq\zmtp
>
>       4. I cloned and attempted to build the following projects in
>    Windows:
>       1. zeromq\ZMTP.NET (success)
>       2. zeromq\NETMQ  (failed to compile using Dev2015)
>
> I looked at the code existing in zeromq\ZMTP.NET.
> There seems to be a NetMQ program.cs that is in no way related to the
> ZMTP.NET implementation as far as I see. Please correct me if I am wrong.
>
> My plan was using the zeromq\zmtp (C) implementation that Pieter did to
> test the zeromq\ZMTP.NET existing code, since he has ZMTP v1.0, v2.0 and
> v3.0 implementations there.
> Then I would do something like add support to multiple frame messages.
> Current implementation only supports single frame messages.
>
> It would be really helpful to have a sample of two nodes (client &
> server?) talking to each other using todays ZMTP.NET implementation in C#
> for me to get further.
>
> Appreciate your guidance,
> Osiris
>
>
> On Thu, Feb 23, 2017 at 10:17 AM Osiris Pedroso <opedroso at gmail.com>
> wrote:
>
> Ok, I will do my research and start adding a socket type.
> Then make it a nugget.
>
> On Thu, Feb 23, 2017 at 10:01 AM Doron Somech <somdoron at gmail.com> wrote:
>
> We can, v2 is  simpler to implement. Also NetMQ only support v2.
> However, I'm fine with v3 as well, NetMQ will catch along.
>
> On Thu, Feb 23, 2017 at 5:47 PM, Osiris Pedroso <opedroso at gmail.com>
> wrote:
>
> Oops, just realized that are seven ZMTP protocol versions:
> stable: 23 (24 and 25)
> draft: 37 (and 38)
> deprecated: 13 and 15
>
> Doron, I like the incremental approach and the two first tasks.
> I will start working on them and post questions if I get stuck.
>
> But should we not be following at least the stable (23/ZMTP) protocol? I
> hate to write throwaway code.
> It seems that all further protocols depend on 23, so why not implement it
> since the work is not done yet?
> The extensions depend on it.
>
> https://rfc.zeromq.org/spec:23/ZMTP/
>
>    1. This document describes ZMTP 3.0. The major change in this version
>    is the addition of security mechanisms and the removal of hard-coded
>    connection metadata (socket type and identity) from the greeting.
>
> 24/ZMTP-PLAIN and 25 ZMTP-CURVE seem variations to add encryption.
>
> https://rfc.zeromq.org/spec:37/ZMTP/
>
>    - This document describes ZMTP 3.1. This version adds SUBSCRIBE,
>    CANCEL, PING and PONG commands, and endpoint resources.
>
> 38/ZMTP-GSSAPI  is an addon to 23/ZMTP to add security as specified by
> rfc2743 <https://tools.ietf.org/html/rfc2743>
>
>    1. The ZMTP GSSAPI mechanism provides secure authentication and
>    confidentiality for ZMTP 3.0. This mechanism utilizes the Generic Security
>    Service Application Interface, which provides security services to callers
>    in a generic fashion.
>
>
>
> On Thu, Feb 23, 2017 at 9:09 AM Osiris Pedroso <opedroso at gmail.com> wrote:
>
> Under the subtitle "The Socket-Type Property" in the protocol
> <https://rfc.zeromq.org/spec:23/ZMTP/>shows that all your needs would be
> covered in the ZMTP implementation.
>
>
> On Thu, Feb 23, 2017 at 9:01 AM brunobodin . <brunobodin at gmail.com> wrote:
>
> For my project, I need REQ, PUB, SUB, (all connected, no bind), but also
> polling (in a LVC pattern), and PAIR for thread communication... I do not
> have a clear view but it seems it exceed ZMTP ?
> where does signalling interfere with this ? polling ? (I already have the
> REQ working in a native zmq compiled over uwp)
>
> Bruno
>
>
> On Thu, Feb 23, 2017 at 3:49 PM, Osiris Pedroso <opedroso at gmail.com>
> wrote:
>
> Doron,
>
> What is needed next on it?
> I see that there is a Dealer type socket only implemented. Implement other
> socket types?
>
> What would actually be the ultimate goal/API surface for a ZMTP compatible
> library for UWP in C#?
>
> Is it implementing the ZMTP protocol
> <https://rfc.zeromq.org/spec:23/ZMTP/> in .NET?
>
> Osiris
>
>
>
> On Thu, Feb 23, 2017 at 7:31 AM Doron Somech <somdoron at gmail.com> wrote:
>
> UWP is problematic, you just cannot run zeromq or netmq on it.
>
> I started working on zmtp compatible library for UWP (in C#), you can find
> it here:
>
> https://github.com/somdoron/ZMTP.NET
>
> There is a lot of demand lately for zmtp/zeromq/netmq compatible library
> for UWP.
>
> Someone just need to lead the project, ZMTP.NET is good beginning, which
> I actually think will work on your case (can you use C# in your project?),
> but it is not a complete library yet and in need of a maintainer.
>
> On Thu, Feb 23, 2017 at 3:18 PM, brunobodin . <brunobodin at gmail.com>
> wrote:
>
> Doron,
>
> thanks for the heads up. The point I do not understand then is how I could
> run a test on uwp platform, using a connected REQ socket on uwp side and a
> bound REP on a server side ?
>
> Thanks
>
> Bruno
>
> On Thu, Feb 23, 2017 at 11:08 AM, Doron Somech <somdoron at gmail.com> wrote:
>
> Zeromq internally use socket (for signaling) and binds it (at least on
> windows). Zyre also requires bind, as you already figure out.
> Bottom line I don't think you can use zyre or zeromq on UWP, or at least
> until bind is supported on UWP.
>
>
> On Thu, Feb 23, 2017 at 10:59 AM, brunobodin . <brunobodin at gmail.com>
> wrote:
>
> Hi,
>
> I would like to leverage zyre in my application, but some nodes of the
> application will have to run on uwp platform :-( (not my choice)
>
> From my first tests I am able to build and run zmq, and czmq on uwp
> plaform, using slighly modified
> dll, see  https://github.com/bbdb68/czmq/tree/uwp and
> https://github.com/bbdb68/libzmq/tree/uwp,
> but it seems (even if winsock is said to run on uwp platform...) that I
> cannot bind sockets.
> Zyre builds nicely on uwp.
>
> For now this is not an issue in my design, since only the client nodes are
> supposed to run on the uwp node.
>
> Regarding zyre, I made some experimentation and :
> * discovery step can work thanks to the gossip mode. UDP mode fails
> * but communication fails, most probably because the node's router socket
> cannot bind.
>
> So my question is : do you think it is possible to design a "limited" zyre
> node that could run on such a platform, without performing any bind, while
> connecting to an existing network of zyre nodes ?
>
> I suppose this would require some kind of proxy node that would be bound
> and used as a intermediate between the "limited" nodes and the regular
> node, at least for socket setup.
>
> Any ideas ?
>
> Regards
>
> Bruno
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20170227/64ec2033/attachment.htm>


More information about the zeromq-dev mailing list