Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement CLIENT and SERVER Socket types #93

Open
andrewdavidmackenzie opened this issue Oct 22, 2020 · 2 comments
Open

Implement CLIENT and SERVER Socket types #93

andrewdavidmackenzie opened this issue Oct 22, 2020 · 2 comments

Comments

@andrewdavidmackenzie
Copy link

I am interested in using the Client-Server pattern (https://zeromq.org/socket-api/) in my rust project, so just wanted to register that interest here and add these socket types to the list of issues for implementing others.

@Alexei-Kornienko
Copy link
Collaborator

@andrewdavidmackenzie there are already some working examples that you can play with - https://github.com/zeromq/zmq.rs/tree/master/examples

Could you please describe your usecase in more details so I would understand better what exactly do you need

@andrewdavidmackenzie
Copy link
Author

Hi, I want a single central server that gets "jobs" submitted from clients, the channel back to the client has an ID that the server stores in the job and uses to send updates to that client as the job is processed (seconds or minutes to complete).

The server is multi threaded/async and able to process multiple jobs in parallel, so it needs a unique channel (via ID?) back to the client that submitted it.

It needs to be able to accept new jobs at any time, from any new client.

With REQ/REP (I have implemented) there is a pair of "channels" so server can just reply to the one client AFAIK.

When reading the docs, it sounded like the experimental client-server model fitted those needs.

Thanks for asking

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants