mqtt调用mosquitto.h错误码

MOSQ_ERR_AUTH_CONTINUE = -4,
MOSQ_ERR_NO_SUBSCRIBERS = -3,
MOSQ_ERR_SUB_EXISTS = -2,
MOSQ_ERR_CONN_PENDING = -1,
MOSQ_ERR_SUCCESS = 0,成功
MOSQ_ERR_NOMEM = 1,如果发生内存不足的情况
MOSQ_ERR_PROTOCOL = 2,如果任何属性对于与DISCONNECT 一起使用无效
MOSQ_ERR_INVAL = 3,

如果输入参数无效

1.mosq==null

2.host == NULL

3.port < 0

4.keepalive < 5

MOSQ_ERR_NO_CONN = 4,如果客户端未连接到代理
MOSQ_ERR_CONN_REFUSED = 5,
MOSQ_ERR_NOT_FOUND = 6,
MOSQ_ERR_CONN_LOST = 7,如果与代理的连接丢失
MOSQ_ERR_TLS = 8,
MOSQ_ERR_PAYLOAD_SIZE = 9,如果payloadlen太大
MOSQ_ERR_NOT_SUPPORTED = 10,如果属性不为 NULL 且客户端未使用 MQTT v5
MOSQ_ERR_AUTH = 11,
MOSQ_ERR_ACL_DENIED = 12,
MOSQ_ERR_UNKNOWN = 13,在 Windows 上,无法初始化套接字
MOSQ_ERR_ERRNO = 14,如果系统调用返回错误。变量errno包含错误代码,即使在Windows上也是如此。在可用的地方使用strerror_r()或在Windows上使用FormatMessage()
MOSQ_ERR_EAI = 15,
MOSQ_ERR_PROXY = 16,
MOSQ_ERR_PLUGIN_DEFER = 17,
MOSQ_ERR_MALFORMED_UTF8 = 18,如果主题无效,则为UTF-8
MOSQ_ERR_KEEPALIVE = 19,
MOSQ_ERR_LOOKUP = 20,
MOSQ_ERR_MALFORMED_PACKET = 21,
MOSQ_ERR_DUPLICATE_PROPERTY = 22,如果一个属性在被禁止的地方被复制
MOSQ_ERR_TLS_HANDSHAKE = 23,
MOSQ_ERR_QOS_NOT_SUPPORTED = 24,如果QoS大于代理支持的QoS
MOSQ_ERR_OVERSIZE_PACKET = 25,如果结果包大于代理支持的包
MOSQ_ERR_OCSP = 26,
MOSQ_ERR_TIMEOUT = 27,
MOSQ_ERR_RETAIN_NOT_SUPPORTED = 28,
MOSQ_ERR_TOPIC_ALIAS_INVALID = 29,
MOSQ_ERR_ADMINISTRATIVE_ACTION = 30,
MOSQ_ERR_ALREADY_EXISTS = 31,

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Lua中调用Mosquitto库,连接到MQTT服务器是必要的。Mosquitto库提供了mosquitto.client.connect函数用于连接到MQTT服务器。下面是该函数的详细解释: 函数原型: ```c int mosquitto_connect(struct mosquitto *mosq, const char *host, int port, int keepalive) ``` 函数参数: - mosq:指向Mosquitto客户端实例的指针。 - host:字符串类型,表示MQTT服务器的主机名或IP地址。 - port:整型,表示MQTT服务器的端口号。 - keepalive:整型,表示与MQTT服务器的连接保持时间。如果在keepalive秒内没有收到来自Mosquitto客户端的消息,则MQTT服务器将假定客户端已经下线,并关闭连接。 函数返回值: - 成功:返回MOSQ_ERR_SUCCESS,表示连接成功。 - 失败:返回错误码,表示连接失败。 示例代码: ```c #include <mosquitto.h> #include <stdio.h> int main(int argc, char *argv[]) { struct mosquitto *mosq = NULL; mosq = mosquitto_new("client1", true, NULL); if(mosq){ printf("Mosquitto client created successfully.\n"); int rc = mosquitto_connect(mosq, "localhost", 1883, 60); if(rc == MOSQ_ERR_SUCCESS){ printf("Connected to MQTT server.\n"); }else{ printf("Failed to connect to MQTT server.\n"); } mosquitto_destroy(mosq); }else{ printf("Failed to create Mosquitto client.\n"); } return 0; } ``` 在上面的示例代码中,我们创建了一个名为client1的Mosquitto客户端实例,启用了清除会话功能,并连接到本地的MQTT服务器(主机名为localhost,端口号为1883)。如果连接成功,则打印“Connected to MQTT server.”,否则打印“Failed to connect to MQTT server.”。最后,我们使用mosquitto_destroy函数销毁Mosquitto客户端实例,释放内存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值