开发者社区> 问答> 正文

MQ CSDK 中无 法获取 MQTT客户端发送的byteMessage


C# SDK  中 example 的代码  
public override ons.Action consume(Message value, ConsumeContext context)
        {
            
           string result =value.getBody();


            return ons.Action.CommitMessage;
        }


MQ 中 Message 返回 body 只有string ,如何获得MQTT 客户端发送的byte[] 消息??


求 大神帮助。

展开
收起
gd_xiaolu 2017-06-13 16:42:59 4031 0
3 条回答
写回答
取消 提交回答
  • ReMQ CSDK 中无 法获取 MQTT客户端发送的byteMessage
    各位阿云工程师,首先针对昨天讨论的问题已经有一个明确的结论了,就是.net sdk处理MQ消息时过滤掉了一些无用的字符,虽然这个问题对很多用户来说影响不大,但对于另一些用户来说影响较大,我觉得贵厂作为一家有担当,负责任的大厂,要及时的更新一下这个不是很完美的代码。1、MQ队列在你们官方说明中写着数据高可靠高可用,达到99.99999999%,但很意外对于.net sdk传输byte字符,这就是那0.000000001%的不可靠,同样的java sdk及c c++sdk均是支持byte接收的,这就导致同一平台,对不同的语言,收到的数据不一致。2、阿里云物联网平台对应的是很多iot设备,这些设备基本上都是单片机模块,无法像pc,及移动端设备那样提供充足的存储来处理数据,而只能通过短小精悍的byte,甚至每一个byte都得拆成8位来保存不同的数据,贵厂官方提供的规则引擎可以转发到MQ上,而MQ却无法收到这样的有意义的数据,这对于物联网平台来说是一大损失啊。3、我司作为贵厂的忠实用户,公司全平台,全栈几乎都使用贵厂的业务,以后可能还有更多的业务需要与贵厂合作,还请贵厂能体恤我们。4、我查询了阿里的开发者论坛,早在2017-06-13有人发贴提了这个问题,只是贵厂未重视,而且贵厂的.net sdk已经2年未更新了,作为四大编程语言之一的c#,还有着千千万万的开发者在嗷嗷待哺。5、小弟同样也是程序员,以小弟拙劣的编程技术,使用半小时就能解决这个问题,我想贵厂的工程师肯定只需在百忙之中花费5分钟左右即可解决这个问题。6、作为一个程序员,怎能容忍自己的代码有丁点的不完美之处。。。综上,还请把这个不完美的代码修复了吧
    2018-11-29 09:36:54
    赞同 展开评论 打赏
  • ReMQ CSDK 中无 法获取 MQTT客户端发送的byteMessage
    售后工程师 :    抱歉,目前.net sdk 消息收发,消息体只支持string, 不支持其他类型。  

    这如何是好。。。

    -------------------------

    ReMQ CSDK 中无 法获取 MQTT客户端发送的byteMessage
    工程师GG 都没法解决,怎么办呢?
    2017-06-14 08:29:36
    赞同 展开评论 打赏
  • 分享阿里云支持与服务团队最佳实践、经典案例与故障排查。
    亲~是否有提交工单呢?可以求助我们的工程师GG吖~~~

    -------------------------

    回 2楼(gd_xiaolu) 的帖子
    亲~查看工单中我们的工程师有处理的回复哦,有什么需要可以通过工单继续咨询
    2017-06-13 17:32:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
RocketMQ Client-GO 介绍 立即下载
RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载