gpt4 book ai didi

ZeroMQ REQ/REP服务器错误处理

转载 作者:行者123 更新时间:2023-12-04 04:05:29 25 4
gpt4 key购买 nike

我正在尝试使用ZeroMQ rep/req,但无法弄清楚如何处理服务器端错误。查看here的代码:

socket.bind("tcp://*:%s" % port)
while True:
# Wait for next request from client
message = socket.recv()
print "Received request: ", message
time.sleep (1)
socket.send("World from %s" % port)

我的问题是,如果客户端调用socket.send()然后挂起或崩溃,将会发生什么。服务器不会永远卡在socket.send()或socket.recv()上吗?

请注意,TCP套接字不是问题。使用TCP套接字,我可以简单地断开连接。使用ZMQ,对我来说隐式管理了连接,我不知道是否有可能中断“ session ”或“连接”并重新开始。

最佳答案

您可以像终止TCP套接字一样终止ZMQ套接字。
socket.close()
如果您需要等待一条消息,但只等待有限的时间,则可以将timeout标志传递给socket.recv(timeout=1024),然后以与TCP套接字超时或断开连接时相同的方式处理超时错误情况。如果您需要管理多个套接字,所有这些套接字都可能处于错误状态,那么 Poller 类将使您完成此任务。

关于ZeroMQ REQ/REP服务器错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21638176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com