这是在 python 中使用 zeroMQ 的请求/响应模式的示例代码。我想知道是否有办法同时处理来自多个客户端的请求?
import zmq
import time
def main():
context = zmq.Context()
serverSocket = StartServer(context,"9999")
processRequests(serverSocket)
def processRequests (socket):
while True:
print "waiting for request"
msg = socket.recv()
print msg
time.sleep(10)
socket.send("Request processed")
def StartServer(context, port):
socket = context.socket(zmq.REP)
socket.bind("tcp://*:%s" % port)
print "started server on", port
return socket
if __name__ == '__main__':
print "starting IPC server"
main()
最佳答案
REQ-REP 模式是一种同步 模式。如果有两个 REQ 套接字连接到同一个 REP 套接字,则 REP 套接字将串行处理请求。
如果您想进行异步请求-回复,您需要研究 ROUTER-DEALER 模式,它是 REQ-REP 的通用类比。
如果您想要代理异步请求-回复,请查看“图 16 - 扩展请求-回复”部分 here .
关于python - 如何处理并发客户端请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18805184/