默认
发表评论 6
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已解决] 关于用PHP后台向RabbitMQ推送消息到MobileIMSDK服务器的问题
阅读(50748) | 评论(6 收藏 淘帖1
我现在想做一个通过网站来发消息给客户端的功能。网站是PHP的,想要模拟IM的WEB版和APP版的通信方式,用RabbitMQ来通信。

我已经把PHP安装好AMQP扩展,也能publish消息到rabbitmq上了。队列名我也是用的WEB版的q_web2app。


但PUBLISH到RabbitMQ上后,APP版却没接收推给客户端。这是什么原因呢?我发送的消息是用WEB版日志输出的JSON字符串:

{"bridge":false,"type":2,"dataContent":{"type":"normalMsg","resList":{"message":"1111222"}},"from":"13","to":"7","fp":"1AED7F62-E157-4336-BC07-A2CF607718A8","QoS":true,"typeu":0}

我直接把这个作为PUBLISH的消息发上去的。在RabbitMQ服务器上能查看到推送过来了。但APP端却没推送给客户端。

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:MobileIMSDK
上一篇:[已回复] 我想将消息保存到mysql数据库中去,怎么做比较好?下一篇:[已回复] MobileIMSDK v2 服务端UserProcessor里面保存的是在线的用户,包不包括 0 ?

本帖已收录至以下技术专辑

推荐方案
评论 6
首先:APP服务端这边有从队列中取到这条消息吗?如果没有取到,表示你放的队列不对。

其次:如果APP服务端这边取到了,但没有正常发到APP客户端,那一定是出了什么问题,你要把Log打印出来。这可能是消息格式不对,你可以用Web端正常发送一条到RabbitMQ里,然后通过RabbitMQ的管理后台取出这个条消息的格式字符串,跟你PHP推送到MQ的消息串比较一下,看看差异在哪里。
引用:JackJiang 发表于 2017-10-24 10:41
首先:APP服务端这边有从队列中取到这条消息吗?如果没有取到,表示你放的队列不对。

其次:如果APP服务 ...

取到了。因为如果我把app服务端关了。推的消息会一直留在rabbitmq里。然后我打开APP服务端,RABBITMQ的队列里就没有消息了。

RabbitMQ里可以取出消息格式串?好的,我查看一下。我现在的格式串是通过WEB端控制台输出的格式串。
引用:JackJiang 发表于 2017-10-24 10:41
首先:APP服务端这边有从队列中取到这条消息吗?如果没有取到,表示你放的队列不对。

其次:如果APP服务 ...

能发送了。原来是格式里有几个 \  这个东西。顺便问一下,FP这个东西是按什么生成的?我可以在PHP端模拟生成吗?

点评

JackJiang  说:
最佳答案  (7 年前)
引用:heavenK 发表于 2017-10-24 10:59
能发送了。原来是格式里有几个 \  这个东西。顺便问一下,FP这个东西是按什么生成的?我可以在PHP端模拟 ...

解决了就好。fp你可以在php自已生成的,没有什么重要的生成逻辑,你只要保证不重复就行了,通常用UUID就可以
引用:JackJiang 发表于 2017-10-24 11:08
解决了就好。fp你可以在php自已生成的,没有什么重要的生成逻辑,你只要保证不重复就行了,通常用UUID就 ...

好的,多谢了。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部