`

mqtt向android推送消息(一)——发送端使用.net

阅读更多

 

使用.net进行mqtt协议通讯,主要是为了开发居于mqtt协议向android推送消息,使用.net开发可以参考mqtt.org上面的库,我用的是M2MQTT,网上资料很少,具体例子如下:
一、消息发布:
if (this.sender == null)
            {
                this.sender = new MqttClient(IPAddress.Parse(host), 1883);
                //var mqttClient = new MqttClient("localhost");
                this.sender.Connect("sender");
            }
            this.sender.Publish("mobileGKTopic", System.Text.Encoding.Default.GetBytes(textBox2.Text));
 二、消息接收
 mqttClient = new MqttClient(IPAddress.Parse(host), 1883);
            //mqttClient = new MqttClient("localhost");
            mqttClient.Connect("Receiver");
            mqttClient.MqttMsgPublishReceived += new MqttClient.MqttMsgPublishEventHandler(mqttClient_MqttMsgPublishReceived);

            

            mqttClient.Subscribe(new string[] { "testTopic" }, new byte[] { MqttMsgBase.QOS_LEVEL_AT_LEAST_ONCE });

private void mqttClient_MqttMsgPublishReceived(object sender, uPLibrary.Networking.M2Mqtt.Messages.MqttMsgPublishEventArgs e)
        {
            //throw new NotImplementedException();
            var msg = System.Text.Encoding.Default.GetString(e.Message);
            if (!String.IsNullOrEmpty(msg))
            {
                textBox1.AppendText(Environment.NewLine);
                textBox1.AppendText(msg);
            }
        }
 需要注意的是,编译mqtt库时要把条件编译SSL关闭,SSL的编译我还没有高清。


 
  • 大小: 19.4 KB
3
0
分享到:
评论
5 楼 Yunba云巴 2016-12-05  
我们https://yunba.io/也是基于MQTT协议实现的实时通信系统,消息推送只是我们其中的一项产品服务。也说下我们做消息推送的一点心得吧。

实现Android推送方面,客户端在集成我们的 Android SDK后,服务端便可通过 SDK 或使用 RESTful API,向 Android 客户端发消息。另外,Android推送已经集成华为、小米第三方推送。

考虑到消息的实时性,我们Android SDK 会启动一个后台的 Service,创建并保持到云巴服务器的长连接,从而保证了消息推送的实时性。

同样为了保证消息能够被送达,我们 SDK 支持 离线消息 的功能,可保证消息送达客户端。

也就是说,在推送消息时,如果客户端当前不在线,消息将暂存在云巴服务器上(多达 50 条,长达 15 天)。 当客户端上线并成功连接到云巴的服务器后,服务器会把离线消息推送给该客户端。客户端成功接收后,服务器才会删除保存的离线消息。
4 楼 FengZiIT 2016-09-07  
GoEasyweb 推送基于websocket 和polling两种实现,兼容IE6-IE11的所有IE浏览器以及其它主流浏览器。它提供了Restful API支持各个开发语言。服务稳定,文档齐全。官网:http://goeasy.io
3 楼 liuxuliang 2015-11-02  
问下 这是什么原因 Connection attempt using unsupported protocol MQTT version 4 received   qq:1713305363
2 楼 tedeum 2015-02-05  
xiguapigeiwochi 写道
可不可以给个完整的代码啊
QQ:511657675

用到的代码在上面已经很完整了,只用到发送部分。
1 楼 xiguapigeiwochi 2015-02-04  
可不可以给个完整的代码啊
QQ:511657675

相关推荐

    Android基于mqtt消息推送通知指南

    Android 消息推送通知是 Android 应用程序中的一项重要功能,它允许服务器向手机客户端发送实时的通知消息。然而,实现 Android 消息推送通知远比 iPhone 上的推送通知解决方案复杂。Google 提供了 C2DM(Cloud to ...

    Android MQTT消息推送

    在Android应用开发中,MQTT(Message Queuing Telemetry Transport)是一种广泛使用的轻量级发布/订阅消息协议,尤其适用于物联网(IoT)设备和移动应用程序。MQTT设计的目标是低带宽、低功耗和有限的网络连接,使得它...

    MQTT方式实现Android推送服务器端

    MQTT(Message Queuing Telemetry ...在实际开发中,需要结合Android客户端、服务器端和Web前端,通过MQTT协议实现消息的实时推送。同时,需要考虑网络条件、设备性能、电池寿命等因素,优化推送效率和用户体验。

    MQTT协议实现android消息推送

    - **send_mqtt.zip**: 可能包含一个用于发送MQTT消息的工具或脚本,可以帮助测试和调试消息推送过程。 **对比XMPP** 虽然MQTT在物联网和移动应用中广泛使用,但另一种常见的消息推送协议是XMPP(Extensible ...

    ASP.NET WEB端消息推送源码

    这个源码包显然提供了一种解决方案,使得开发者能够通过ASP.NET平台向Android和iOS等手机端推送消息。让我们深入了解一下相关的知识点。 首先,ASP.NET是微软开发的一种用于构建Web应用程序的框架,它基于.NET ...

    ios手机端集成mqtt接受服务器推送消息源码

    以下是对标题“ios手机端集成mqtt接受服务器推送消息源码”以及描述中涉及知识点的详细说明: 1. **MQTT协议**:MQTT是一种轻量级的消息协议,设计思想是开放、简单、小巧,主要用于物联网(IoT)设备,特别是资源...

    SpringBoot整合MQTT服务器实现消息的发送与订阅(推送消息与接收推送)客户端类与回调方法.rar

    SpringBoot整合MQTT服务器实现消息的发送与订阅(推送消息与接收推送)客户端类与回调方法.rar 博客地址:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/112394731

    MQTT协议实现的推送功能

    在“MQTT协议实现的推送功能”中,我们有两个关键部分:服务端和Android端项目工程。 1. 服务端(MqttServer):这部分通常由MQTT Broker实现,例如使用开源的Mosquitto或Apollo等。服务端的主要任务是接收客户端的...

    Android mqtt协议 推送

    在Android应用开发中,MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息协议,常用于物联网(IoT)设备之间的通信,因为它具有低开销、低带宽消耗和实时性等特点。在本文中,我们将深入探讨...

    android Mqtt推送 源码

    在Android平台上实现MQTT推送,能够确保消息的可靠传输,即使在网络不稳定的情况下也能保持良好的用户体验。 1. **MQTT协议介绍** MQTT是一种基于发布/订阅模式的“轻量级”通信协议,最初设计用于远程位置和有限...

    基于MQTT协议的推送

    8. **Swing界面应用**:在描述中提到的“用的swing界面”,表明存在一个使用Java Swing库开发的GUI应用,该应用用于演示MQTT的推送和接收消息。Swing是Java提供的一种用于创建桌面应用的图形用户界面工具包,结合...

    基于RocketMQ的MQTT消息推送服务器分布式部署方案.pdf

    MQTT 协议是Android 系统中消息推送的实现技术之一, 由于其具有低功耗、节省流量和可扩展性强的优点, 目前已得到了众多应用. 同时, RocketMQ 作为一种分布式消息队列, 在服务器分布式部署上具有很大优势, 具有高...

    MQTT方案消息推送安卓手机端+php服务端案例

    二、安卓手机端实现MQTT消息推送 1. 使用开源库:Android设备上常见的MQTT客户端库有Paho MQTT Android Service和Mosquitto等。 2. 连接MQTT服务器:配置连接参数,如服务器地址、端口、用户名、密码、客户端ID等。 ...

    MQTT即时消息推送

    MQTT即时消息推送是一种在物联网(IoT)领域广泛使用的轻量级通信协议,尤其适用于低带宽、高延迟或不可靠网络环境。本项目专注于在Android平台上实现MQTT协议,以实现实时的消息推送功能。基于订阅者-发布者模式,...

    android,Mqtt消息队列,接收发送消息

    在Android应用中集成MQTT,可以实现设备间的实时通讯,比如推送通知、数据同步等功能。以下是对`android,Mqtt消息队列,接收发送消息`这一主题的详细解释: 1. **MQTT协议原理**:MQTT是基于发布/订阅模型的,其中...

    基于MQTT的移动推送解决方案

    6. **双向通信**:支持客户端向服务器推送消息的同时也支持服务器向客户端推送消息。 #### WebSphereMQ与IBM MessageSight IBM WebSphereMQ是一套全面的信息中介软件产品组合,旨在帮助组织建立一个可靠的、安全的...

    Android 基于MQTT的安卓消息推送php服务端源码+安卓端源码-IT计算机-毕业设计.zip

    这份资源包含了一个基于MQTT协议的Android消息推送系统,涵盖了客户端和服务端的源代码,适合进行Android毕业设计或论文研究。下面将详细讲解这个系统的关键技术和实现步骤。 首先,MQTT(Message Queuing ...

    mqtt客户端发布与推送消息

    在本文中,我们将深入探讨MQTT客户端如何发布与推送消息,并实现实时接收新消息。 ### MQTT协议简介 MQTT协议基于客户端-服务器的架构,其中客户端可以是设备、应用或者其他MQTT实体,服务器称为Broker。协议的核心...

    android mqtt推送

    总结,Android MQTT推送是实现实时通信的一种有效手段,通过合理的客户端和服务端配置,以及必要的安全措施,可以构建高效、稳定的消息传递系统。在实际开发中,还需要根据项目需求进行适当的定制和优化。

Global site tag (gtag.js) - Google Analytics