- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果由于某种原因连接“断开”,我正在尝试使用 Python 和 Autobahn 与 Twisted 重新连接客户端。
有一个很好的例子 here使用 ReconnectingClientFactory 设置,但我的问题是围绕 maxRetries。
脚本执行过程中总共允许设置5种方式。
class EchoClientFactory(ReconnectingClientFactory, WebSocketClientFactory):
protocol = EchoClientProtocol
# http://twistedmatrix.com/documents/current/api/twisted.internet.protocol.ReconnectingClientFactory.html
#
maxDelay = 10
maxRetries = 5
def startedConnecting(self, connector):
print('Started to connect.')
def clientConnectionLost(self, connector, reason):
print('Lost connection. Reason: {}'.format(reason))
ReconnectingClientFactory.clientConnectionLost(self, connector, reason)
def clientConnectionFailed(self, connector, reason):
print('Connection failed. Reason: {}'.format(reason))
ReconnectingClientFactory.clientConnectionFailed(self, connector, reason)
例如,如果出现问题并且客户端在 2 次重试后连接,则只剩下 3 次,并且在成功连接后该号码不会“重置”。
如何实现这一点,即在成功连接后将 maxRetries 重置回 5 - 如果可能的话?
谢谢!
科斯塔斯
最佳答案
安排您的协议(protocol)在连接成功后调用 ReconnectingClientFactory.resetDelay
。这会重置所有内容,以便退避逻辑重新开始。
要求应用程序调用此方法,而不是自动重置状态,因为即使 TCP 连接成功,您仍然可能遇到需要重试并回退的连接问题。例如,服务器可能会用“太忙,稍后再试”消息来响应您的身份验证尝试。如果这些事情可能在您的协议(protocol)中发生,您应该在这些事情发生的机会过去之后才调用 resetDelay
。 ReconnectingClientFactory
无法知道这是什么时候。
关于Python 与 Twisted 高速公路 : reset maxRetries within ReconnectingClientFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29445538/
在 OSX 上使用 Chrome 连接到 websocket 服务器时出现问题。 我们使用这个包:https://github.com/voryx/Thruway 我在这里测试:http://webs
Autobahn 文档对于消息发布后哪些客户端/如何接收消息有点不清楚。开箱即用的消息似乎会广播给某个主题的所有订阅者 - 他们都收到了。但是有没有办法将消息分发给单个客户端呢?在队列中,多个发布者将
我想用 asyncio 创建一个 ReconnectingClientFactory。特别是处理客户端启动时服务器不可用的情况,在这种情况下 ReconnectingClientFactory 将继续
我正在使用 autobahn运行 websocket 服务器来补充我的 Django 应用程序。有时,我需要将消息从 Django 发送到 websocket 服务器,使用 websocket-cli
我正在通过 Python 的 multiprocessing.pipe 传输 WAMP 协议(protocol),我需要重新实现 WampCraClientProtocol。 问题 A:在不明确的情况
我是 websockets 的新手,我一直在使用 Autobahn websocket 来做一个更大的项目。它在 python 和 js 版本中运行良好,但我在使用 Android API 时遇到了问
是否可以使用默认的 Apple API?我知道它与谷歌有关,但我想尝试坚持使用苹果的一切。 最佳答案 根据documentation , 看起来 MKRoute 和 MKDirectionsReque
我有一个带有典型 onX 的高速公路 Websocket 服务器在它的协议(protocol)中起作用。我的问题是我找不到退出的方法 onX ,同时在特定消息到达时继续做我想做的各种事情。更具体地说在
语境 :我正在查询 OSRM 以返回两个坐标之间的路线。它返回我请求的路线以及部分(步骤)以及路线说明(v5 中的 RouteStep 对象数组)。 http://project-osrm.org/d
我在 Node 中使用此 AutobahnJS 代码从服务接收数据。它工作得很好,每秒获取多个事件。当我的互联网暂时断开连接时,Autobahn 没有检测到丢失的连接并且没有将“Websocket 连
如果由于某种原因连接“断开”,我正在尝试使用 Python 和 Autobahn 与 Twisted 重新连接客户端。 有一个很好的例子 here使用 ReconnectingClientFactor
我在 Payara 服务器上设置了一个 Java EE 端点,我尝试使用 Autobahn WebSockets 连接到一个 Android 客户端。我有以下设置: 我在服务器上的 WebSocket
我正在尝试使用 Python 3.4、Django、Autobahn 和 JS 构建 WebSocket session 。我已经在 python 端成功运行了 websocket 服务器,但是我无法
我是 Autobahn 和 Websockets 的新手。我正在尝试构建以下设置: 处理服务(基于 Java 的黑盒): 等待来自 Twitter 的流媒体 API 的数据 如果收到新消息,则会将消息
websocket 客户端(使用 Autobahn/Python 和 Twisted)需要连接到 websocket 服务器:客户端需要向服务器出示其客户端证书,客户端需要检查服务器的证书。例如,这些
我是一名优秀的程序员,十分优秀!