Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #
- from multiprocessing import Process
- from zmq import Context
- from zmq.backend.cython.constants import REQ
- NBR_CLIENTS = 10
- FRONTEND_PORT = '7777'
- FRONTEND_SERVER = '127.0.0.1'
- BACKEND_PORT = '7778'
- BACKEND_SERVER = '127.0.0.2'
- def client_task(ident):
- """Basic request-reply client using REQ socket."""
- socket = Context().socket(REQ)
- identity = f'Client-{ident}'
- socket.identity = identity.encode('utf-8')
- socket.connect(f'tcp://{FRONTEND_SERVER}:{FRONTEND_PORT}')
- # Send request, get reply
- socket.send_string('Ping')
- reply = socket.recv_string()
- print(f'{identity}: {reply}')
- def main():
- # Start client tasks
- def start(task, *args):
- process = Process(target=task, args=args)
- process.daemon = True
- process.start()
- for idx in range(NBR_CLIENTS):
- start(client_task, idx)
- socket = Context().socket(REQ)
- socket.connect(f'tcp://{BACKEND_SERVER}:{BACKEND_PORT}')
- socket.send_string('STOP')
- while True:
- pass
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement