注册 登录
主题 : 有没有人用过MQTT
级别: 精灵王
状态: 连续签到 - [1天]
UID: 369780
精华: 0
发帖: 833
可可豆: 2204 CB
威望: 2203 点
在线时间: 923(时)
注册时间: 2014-09-03
最后登录: 2018-04-20
0 楼:  发表于: 2017-08-18 11:47    发自: Web Page
来源于 已解决 分类

有没有人用过MQTT   

如题,有没有人用过MQTT的啊?
最近在搞这个东西,我在自己电脑上弄了个服务,可以实现消息推送
但是公司同事搞的服务android能连上iOS就连不上,MQTTSessionEventConnectionClosedByBroker


后台那边显示socket read error on client(null),disconnecting
有没有大神知道是怎么回事啊
[ 此帖被蓝色时光在2017-11-10 16:59重新编辑 ]

级别: 精灵王
状态: 连续签到 - [1天]
UID: 369780
精华: 0
发帖: 833
可可豆: 2204 CB
威望: 2203 点
在线时间: 923(时)
注册时间: 2014-09-03
最后登录: 2018-04-20
1 楼:  发表于: 2017-08-18 11:48    发自: Web Page
我自己查了查资料,socket read error on client(null),disconnecting感觉像是后台那边有什么问题,有没有明白人能给我解惑啊
级别: 骑士
状态: 连续签到 - [47天]
UID: 497385
精华: 0
发帖: 418
可可豆: 668 CB
威望: 561 点
在线时间: 413(时)
注册时间: 2015-08-14
最后登录: 2018-04-07
2 楼:  发表于: 2017-08-18 11:50    发自: Web Page
回 1楼(蓝色时光) 的帖子
检查host和port是否正确。


一般来说port是1883。


具体可以参阅下阿里云的mqtt demo


https://help.aliyun.com/document_detail/47755.html?spm=5176.doc44885.6.639.HRCUxI

There is no shortcut to success. Only by knocking more codes can lead you to the way to success...
级别: 精灵王
状态: 连续签到 - [1天]
UID: 369780
精华: 0
发帖: 833
可可豆: 2204 CB
威望: 2203 点
在线时间: 923(时)
注册时间: 2014-09-03
最后登录: 2018-04-20
3 楼:  发表于: 2017-08-18 11:54    发自: Web Page
回 2楼(技术哥丶) 的帖子
port是1883
级别: 精灵王
状态: 连续签到 - [1天]
UID: 369780
精华: 0
发帖: 833
可可豆: 2204 CB
威望: 2203 点
在线时间: 923(时)
注册时间: 2014-09-03
最后登录: 2018-04-20
4 楼:  发表于: 2017-08-18 11:58    发自: Web Page
回 2楼(技术哥丶) 的帖子
一定要设置用户名和密码么?android那边没有设置的
级别: 骑士
状态: 连续签到 - [47天]
UID: 497385
精华: 0
发帖: 418
可可豆: 668 CB
威望: 561 点
在线时间: 413(时)
注册时间: 2015-08-14
最后登录: 2018-04-07
5 楼:  发表于: 2017-08-18 11:59    发自: Web Page
回 4楼(蓝色时光) 的帖子
具体不知道你们后台如何搭建的。阿里云这套是必须有的。详细的问下你们后台吧。
There is no shortcut to success. Only by knocking more codes can lead you to the way to success...
级别: 骑士
状态: 连续签到 - [47天]
UID: 497385
精华: 0
发帖: 418
可可豆: 668 CB
威望: 561 点
在线时间: 413(时)
注册时间: 2015-08-14
最后登录: 2018-04-07
6 楼:  发表于: 2017-08-18 12:00    发自: Web Page
而且看你的错误,是因为客户端没有指定client信息导致的断开连接,也就是服务端无法识别你是哪个client。
There is no shortcut to success. Only by knocking more codes can lead you to the way to success...
级别: 精灵王
状态: 连续签到 - [1天]
UID: 369780
精华: 0
发帖: 833
可可豆: 2204 CB
威望: 2203 点
在线时间: 923(时)
注册时间: 2014-09-03
最后登录: 2018-04-20
7 楼:  发表于: 2017-08-21 09:32    发自: Web Page
回 6楼(技术哥丶) 的帖子
在我的Mac上进一步调试后我发现:
用brew终端命令安装了mosquitto,然后用brew service start mosquitto命令启动了mosquitto,通信正常;如果mosquitto ...路径/mosquitto.conf的命令启动,通信出现问题,连接不上或一旦推送消息就会出现移动端掉线
所以,两种启动方式有什么区别
级别: 骑士
状态: 连续签到 - [47天]
UID: 497385
精华: 0
发帖: 418
可可豆: 668 CB
威望: 561 点
在线时间: 413(时)
注册时间: 2015-08-14
最后登录: 2018-04-07
8 楼:  发表于: 2017-08-21 09:52    发自: Web Page
回 7楼(蓝色时光) 的帖子
通过brew安装的你可以查看下brew info mosquitto.

mosquitto has been installed with a default configuration file.
You can make changes to the configuration by editing:
    /usr/local/etc/mosquitto/mosquitto.conf

To have launchd start mosquitto now and restart at login:
  brew services start mosquitto
Or, if you don't want/need a background service you can just run:
  mosquitto -c /usr/local/etc/mosquitto/mosquitto.conf

  brew services start mosquitto 这种启动模式默认开机/后台启动,只要你没有kill进程或者stop服务,就一直驻后台。
  mosquitto -c /usr/local/etc/mosquitto/mosquitto.conf 这种启动模式,当前可用,启动成功后打印1883在ipv6和ipv4下监听,但是这种启动模式要求你不能停止当前终端窗口,不然就等于没有启动。

PS:本质上这两种启动没有任何区别,你可以通过ps -ef|grep mosquitto查看到启动命令和具体调用的配置文件。我按照这两种方式启动后,看到调用的配置文件相同,所以没有区别。只是说一个是后台,一个是前台。
There is no shortcut to success. Only by knocking more codes can lead you to the way to success...
级别: 精灵王
状态: 连续签到 - [1天]
UID: 369780
精华: 0
发帖: 833
可可豆: 2204 CB
威望: 2203 点
在线时间: 923(时)
注册时间: 2014-09-03
最后登录: 2018-04-20
9 楼:  发表于: 2017-08-23 15:30    发自: Web Page
回 8楼(技术哥丶) 的帖子
谢谢你,搞定了,是他们的mosquitto版本问题
描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部