linux查看mqtt使用的端口号,linux环境 MQTT测试与使用

#include

#include

#include

#include

#define HOST "localhost" //可以改为自己MQTT的服务器地址 如:#define HOST "106.xxx.xxx.xxx"

#define PORT 1883 //端口号

#define KEEP_ALIVE 60

bool session = true;

void my_message_callback(struct mosquitto *mosq, void *userdata, const struct mosquitto_message *message)

{

if(message->payloadlen){

printf("%s %s", message->topic, message->payload);

}else{

printf("%s (null)\n", message->topic);

}

fflush(stdout);

}

void my_connect_callback(struct mosquitto *mosq, void *userdata, int result)

{

int i;

if(!result){

/* Subscribe to broker information topics on successful connect. */

mosquitto_subscribe(mosq, NULL, "pu", 2); //topic 主题:"pu"

}else{

fprintf(stderr, "Connect failed\n");

}

}

void my_subscribe_callback(struct mosquitto *mosq, void *userdata, int mid, int qos_count, const int *granted_qos)

{

int i;

printf("Subscribed (mid: %d): %d", mid, granted_qos[0]);

for(i=1; i

printf(", %d", granted_qos[i]);

}

printf("\n");

}

void my_log_callback(struct mosquitto *mosq, void *userdata, int level, const char *str)

{

/* Pring all log messages regardless of level. */

printf("%s\n", str);

}

int main()

{

struct mosquitto *mosq = NULL;

//libmosquitto 库初始化

mosquitto_lib_init();

//创建mosquitto客户端

mosq = mosquitto_new(NULL,session,NULL);

if(!mosq){

printf("create client failed..\n");

mosquitto_lib_cleanup();

return 1;

}

//设置回调函数,需要时可使用

//mosquitto_log_callback_set(mosq, my_log_callback);

mosquitto_connect_callback_set(mosq, my_connect_callback);

mosquitto_message_callback_set(mosq, my_message_callback);

//mosquitto_subscribe_callback_set(mosq, my_subscribe_callback);

//客户端连接服务器

if(mosquitto_connect(mosq, HOST, PORT, KEEP_ALIVE)){

fprintf(stderr, "Unable to connect.\n");

return 1;

}

//循环处理网络消息

mosquitto_loop_forever(mosq, -1, 1);

mosquitto_destroy(mosq);

mosquitto_lib_cleanup();

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值