Closed madhulika closed 9 years ago
Don't exactly know... but I don't have a problem sending and receiving thousands of messages :)
I turned off curvezmq auth and I can send thousands of messages fine. When I turn on the auth I get stuck at 255. Need to figure out why. Any pointers will be appreciated. Couldn't find any examples which used curvezmq auth to verify my usage.
Hehe, you're on the right way... the Curve25519 encryption is currently not really implemented (in clrzmq4; in the used libzmq IT IS), something like a ZAuthenticationBase and Curve25519Authentication, PlainAuthentication...
However: You can set the ZSocket.CurvePublicKey
, CurveSecretKey
and .CurveServerKey
(which does set the CurveServer
option indirectly). (If you have set them, you need to check them if they are set...)
public byte[] CurveServerKey {
get { return GetOptionBytes(ZSocketOption.CURVE_SERVERKEY); }
set { SetOption(ZSocketOption.CURVE_SERVERKEY, value); }
}
Now you need also a ZAP handler, like a ZActor and the like... I'm currently not really in-the-code, so... could YOU please fork this project to write an update? :+1:
yes I am setting the keys, but when I try to access them I get an exception. But they seem to be getting used, because when I don't set them no messages go through as auth fails. when I set the keys, I can't access them but 255 messages go through :-)
ok well, that part with " you need to check them " was just a guess :-)
From what I understand the Auth implementation is not planned in the near future, right!! That brings me to the next question, what is the future of this project. Will it be maintained and updated. You are the major contributor with just 2 commits from others. What plans do you have w.r.to this project.
I wrote this project and I'm maintaining it (I have set git remote add zeromq https://github.com/zeromq/clrzmq4
and always write git push zeromq master
).
And yes, the future and plan to implement is... that you are going to fork the project, write an update and when it's good I'm going to push your update to clrzmq4 ;) I have just time for some minutes now and I'd like to see you tomorrow :)
Thank you. Will follow your plan if I can't get curvezmq with zmq on windows. That seems to be the case anyway as netmq does not have it either.
Yeah, I see ZeroMQ making very many keys and it is fixing your nonces, so you may just encrypt/decrypt and sign/verify your ZFrames directly using (Tweet)NaCl, as I do try this in my tweetnacl.c and TweetNaCl.cs projects; I'm currently not using the C program; I bound my methods to libsodium.
Have an update to share. We upgraded the server side on linux from pyzmq 14.6.0 to 14.7.0(which has zmq version 4.1.2) and this issue of failure at 255th time vanished.
With curve keys setup, I can send thousands of messages without failure. clrzmq4 does seem to support Curve25519 encryption. Good news for me.
:+1:
Well, please press on Fork
on the top-right on github! You will have to
C:\Projects>git clone https://github.com/madhulika/clrzmq4
// don't know what git said ^^
C:\Projects>cd clrzmq4
// here you make your changes...
C:\Projects\clrzmq4>git add -A
C:\Projects\clrzmq4>git commit -m "Updating clrzmq4"
C:\Projects\clrzmq4>git push origin master
// here you make changes again...
Now you can send your changes now to github (git add
... git commit
... git push
),
and you will be able to send me your Pull Request !
You will have to BUILD the project now !
Using Windows in Visual Studio (Express) 2010+ open file ZeroMQ.vs.csproj, using ubuntu Linux (C 4.8.2) in MonoDevelop 5+ open file ZeroMQ.mono.csproj...
You should now have a fully qualified ZeroMQ project in your favorite IDE, being able to create new projects based on ZeroMQ/CLRZMQ4 and you also can make changes to the ZeroMQ/CLRZMQ4 project.
(by doing git add -A & git commit -m "Updating ZeroMQ" & git push zeromq master
)
Beware: You need to set the files in folders i386
and amd64
to Copy if newer
(if you didn't just open the csproj).
Hi,
I don't know if this is an issue with my usage or a real issue that needs fixing. Either way, please see if you can help
I am using zmq router-dealer configuration. The server is written in python and runs on linux. My dealer client is written in c# with clrzmq4 and runs on a windows machine. It sends messages and waits from the response
set the sendTimeout and receiveTimeout on the socket to 2 min each. When I keep calling sendMessage, exactly at the 255th time, receiveFrame timesout . On the server I see the message being processed and response being sent like everytime. And after this point, my send also timesout with the same error "EAGAIN" Resource temporarily unavailable. There are the things I tried