You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中MQTT连接错误求助:连接被拒(Socket error 111)

问题分析与解决

错误核心

Socket错误111为连接被拒绝,表明你的应用服务器无法通过指定地址和端口连接到broker.hivemq.com的1883端口。

排查与修复步骤

1. 验证网络连通性

在应用服务器上执行以下命令,测试是否能访问HiveMQ公共代理:

telnet broker.hivemq.com 1883
# 或使用netcat
nc -zv broker.hivemq.com 1883

若返回连接失败,原因通常为:

  • 服务器防火墙/安全组未开放1883端口的TCP出站权限,需添加对应规则
  • 服务器所在网络运营商屏蔽了公共MQTT端口,可尝试切换至8883端口(SSL加密)

2. 修正配置与连接方式

确认MQTT_HOST无拼写错误,broker.hivemq.com为HiveMQ官方公共代理地址。若网络限制无法使用1883端口,可调整为8883端口并启用SSL连接:

// 示例代码调整
$mqtt = new PhpMqtt\Client\Client('broker.hivemq.com', 8883, 'your-client-id');
$mqtt->connect(null, true); // 第二个参数启用SSL加密

3. 开启日志定位细节

将MQTT_ENABLE_LOGGING设为true,重新发起连接,日志会输出更详细的连接流程信息,可帮助区分是DNS解析失败、网络超时还是代理端问题。

4. 替代方案

若公共代理持续无法访问,可改用其他公共MQTT代理(如test.mosquitto.org的1883端口),或搭建私有MQTT代理服务。

内容的提问来源于stack exchange,提问作者Pondikpa Tchabao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 00:56:09