Skip to content

Instantly share code, notes, and snippets.

@doctaphred
Created September 21, 2016 21:48
Show Gist options
  • Save doctaphred/2a41d8f1eab8d5ee9b507f9496c7a9ac to your computer and use it in GitHub Desktop.
Save doctaphred/2a41d8f1eab8d5ee9b507f9496c7a9ac to your computer and use it in GitHub Desktop.
Basic pyzmq client/server
from datetime import datetime
import os
import sys
import time
import zmq
port = int(sys.argv[1])
n = int(sys.argv[2])
context = zmq.Context()
socket = context.socket(zmq.REQ)
socket.connect('tcp://localhost:{}'.format(port))
for i in range(n):
time.sleep(1)
socket.send_json([os.getpid(), i, n])
message = socket.recv_json()
print(datetime.now(), message)
time.sleep(1)
import sys
from datetime import datetime
from itertools import count
import zmq
data = count()
def handle(message):
return (message, next(data))
if __name__ == '__main__':
port = int(sys.argv[1])
context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind('tcp://*:{}'.format(port))
while True:
message = socket.recv_json()
print(datetime.now(), message)
response = handle(message)
socket.send_json(response)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment