采用MQTT协议实现Android推送功能是一种解决方案。MQTT是一个轻量级的消息发布/订阅协议,是实现基于手机客户端的消息推送服务器的理想解决方案。
常见的解决方案实现原理:
1、轮询(Pull)方式:客户端定时向服务器发送询问消息,一旦服务器有变化则立即同步消息。
2、SMS(Push)方式:通过拦截SMS消息并且解析消息内容来了解服务器的命令,但这种方式一般用户在经济上很难承受。
3、持久连接(Push)方式:客户端和服务器之间建立长久连接,这样就可以实现消息的及时行和实时性。
扩展资料:
推送消息注意事项:
1、支持第三方推送内容,是要客户端和服务器都支持的,客户端和服务器都导入推送SDK。
2、服务器推送内容,可以精确指定推送时间,推送的具体接收人,用户群,位置。
3、即推送的维度可以使时间,位置,人群。
4、极光使用了两种不同的通知方式,一种是推送通知,一种是推送消息。
5、如果要使用androidpn,则还需要做大量的工作,需要理解XMPP协议、理解Androidpn的实现机制,需要调试内部存在的BUG。
参考资料来源:百度百科-服务器
参考资料来源:百度百科-Android客户端
参考资料来源:百度百科-信息推送
下载完成后,软件是一个单独的运行程序,可以直接打开软件。3
软件的界面很简单,在左侧有tcp和udp的客户端或服务端的快捷按钮,上方有创建删除退出等选项按钮。
4
我们先来建立TCP的测试服务端。点击TCP Server再点击创建。
选择一个监听端口,这里我们使用6001作为服务端的监听端口。
建立完成后,服务端会自动启动,软件会显示启动监听的状态。
我们可以检测一下本机的6001端口是否已经打开。在DOS窗口中输入命令netstat -a,可以在列表中看到本机的6001端口的状态为listening的状态,表示本机的6001端口正处于监听的状态。
在DOS窗口中输入命令telnet 1921680140 6001来登录本地的6001端口。
点击回车键,就可以成功登录6001端口。在测试软件中就可以看到状态是已连接的状态,同时也可以看到对方的ip就是本地ip。
再来测试通信情况,在DOS窗口中输入a、b、c,在软件的接收窗口就可以看到收到的数据了。
在软件的发送窗口中输入1234567890,点击发送后,在DOS窗口中就可以看到软件发送过来的数据了。
测试完成后,在软件中点击停止监听,同时在DOS窗口中可以看到失去了跟主机的连接,表示测试连接已经断开。
再来创建TCP的客户端,点击TCP Client再点击创建。会d出创建socket客户端窗口,输入对方的ip和对方的端口,点击确认。
tcp的客户端已经建立好,如果对方的端口监听正常的话,点击连接就可以连接到对方的端口和对方进行测试通信了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)