如何处理并发客户端请求?

2024-10-02 10:28:10 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是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()

Tags: importservertimemainportdefcontextmsg
1条回答
网友
1楼 · 发布于 2024-10-02 10:28:10

REQ-REP模式是一个同步的模式。如果有两个REQ套接字连接到同一个REP套接字,REP socket将串行处理请求。在

如果您想进行异步请求回复,您需要研究ROUTER-DEALER模式,这是REQ-REP的一般模拟

如果您想要代理异步请求回复,请查看“图16-扩展请求回复”部分here。在

相关问题 更多 >

    热门问题