【问题标题】:error: [Errno 10048] : when sending 10,000 publish messages from client to broker (python,MQTT, raspberry pi)错误:[Errno 10048]:从客户端向代理发送 10,000 条发布消息时(python、MQTT、树莓派)
【发布时间】:2016-04-29 21:13:44
【问题描述】:

我正在研究 MQTT 协议的性能。我使用 Raspberry Pi 作为 MQTT 代理,并将 PC 作为客户端,它们都连接在同一个 LAN 中。 PC 向代理发送消息,当代理收到消息时,它会发布回一个 publish.single。当我尝试使用 qos=2 每分钟发送 10,000 条发布消息时,在 ~8163 条消息之后,我在客户端收到以下错误消息:

error: [Errno 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted

我对 qos=0 和 qos=1 进行了同样的尝试,但没有出现同样的错误。有什么问题?

【问题讨论】:

    标签: python sockets mqtt


    【解决方案1】:

    这很可能是因为您已经用尽了客户端计算机上可用的本地端口数量,因为您有太多的消息在传输中。

    QOS 2 消息的开销更大(它们需要双向确认)。

    使用 publish.single 方法可能会使情况变得更糟,因为这将为每条消息创建和拆除与代理的完整连接,如果您创建一个持久连接并重用它,事情可能会更好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-28
      • 1970-01-01
      • 1970-01-01
      • 2018-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      相关资源
      最近更新 更多