android websocket 应用

websocket 在实际的应用中不仅仅能做聊天应用,还可以利用websocket长连接保持数据的实时更新以及信息的推送。

websocket 的实现的关键点

第一个:首先需要引入 java-websocket.jar 包, 这里我使用的版本时1.3.1。

接下来就开始了,不同的业务有不同的需求,我们根据业务需求封装一下websocket 请求

在runable中实例websocket对象,并在四个回掉函数中构建自己的业务逻辑,

接着定义send方法发送请求

,定义一个接口用于接收服务端返回的数据

其他的例如destory和开启线程方法就不多赘述。

第二:因为我们需要websocket保持与服务端的连接,不仅仅在程序运行时,当锁屏以及程序后台时都需要获取服务端推送的信息,这时候我们就需要把websocket运行在service上了。

service 与程序交互则通过广播来完成。 在服务类中注册一个广播接收器和广播。当接收到数据之后在onMessage方法中处理,之后再有广播发送到客户端

接下来我们还需要定义一个中间广播类,用于接收service返回的信息到页面,以及一个接口用于页面的数据获取

到此整体的思路以及完成。

使用的话很简单,先实例一个中间广播类对象然后发送请求,在实现接口

用于处理对应的业务逻辑。

时间: 2024-10-07 22:15:37

android websocket 应用的相关文章

android websocket推送

1.通过WebSocketServlet来实现 import java.io.IOException; import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.u

Android WebSocket开发

一,在模块build.gradle中添加webSocket的依赖包 //WebSocket 依赖包 implementation 'com.neovisionaries:nv-websocket-client:2.2' 二,连接webSocket try { WebSocket ws = new WebSocketFactory().createSocket(url, CONNECT_TIMEOUT) //ws地址,和设置超时时间 .setFrameQueueSize(FRAME_QUEUE_S

Android使用websocket

使用library: https://github.com/tavendo/AutobahnAndroid package com.fkapp.websocket; import com.fkapp.websocket.R; import de.tavendo.autobahn.WebSocketConnection; import de.tavendo.autobahn.WebSocketException; import de.tavendo.autobahn.WebSocketHandle

android利用WebSocket实现消息推送

1.webSocket服务端的配置与代码: (1).服务器端工程目录结构: (2).web.xml的配置 <servlet-name>webSocketServlet</servlet-name>        <servlet-class>com.cn.controller.WebSocketServletService</servlet-class>      </servlet>    <servlet-mapping>    

Android最佳实践——深入浅出WebSocket协议

首先明确一下概念,WebSocket协议是一种建立在TCP连接基础上的全双工通信的协议.概念强调了两点内容: TCP基础上 全双工通信 那么什么是全双工通信呢? 全双工就是指客户端和服务端可以同时进行双向通信,强调同时.双向通信 WebSocket可以应用于即时通信等场景,比如现在直播很火热,直播中的弹幕也可以使用WebSocket去实现. WebSocket的协议内容可以见The WebSocket Protocol,讲得最全面的官方说明.简单介绍可以见维基百科WebSocket 在Andro

Android中脱离WebView使用WebSocket实现群聊和推送功能

WebSocket是Web2.0时代的新产物,用于弥补HTTP协议的某些不足,不过他们之间真实的关系是兄弟关系,都是对socket的进一步封装,其目前最直观的表现就是服务器推送和聊天功能.更多知识参考:如何理解 TCP/IP, SPDY, WebSocket 三者之间的关系? 今天的重点是讲如何在Android中脱离WebView使用WebSocket,而不是在Web浏览器使用,如果是在Web浏览器中使用,网上已经太多教程.框架和demo,没必要讲. 到目前为止我个人认为安卓端比较好用的WebS

WebSocket学习笔记IE,IOS,Android等设备的兼容性问

一.背景 公司最近准备将一套产品放到Andriod和IOS上面去,为了统一应用的开发方式,决定用各平台APP嵌套一个HTML5浏览器来实现,其中数据通信,准备使用WebSocket的方式.于是,我开始在各大浏览器上测试. 二.协议分析 2.1 WebSocket的请求包 首先把原来做Socket通信的程序拿出来,跟踪下浏览器在WebSocket应用请求服务端的时候发的数据包的内容: IE11: GET /chat HTTP/1.1 Origin: http://localhost Sec-Web

利用websocket实现android消息推送

前段时间做一个项目,需要android客户端作为管理工具与web服务器后台实时交互,想了很多方法,包括androidpn.openfire+smack.xmpp协议,要么太繁琐,要么无法满足实时性.想来还是用socket,经人提醒想到了websocket. websocket协议是近些年随html5发展而诞生的,主要用于解决web服务器与客户端无法双向交互的问题.如今已经被W3C收入标准协议. 服务器支持:tomcat.jetty的最新版本都已支持websocket:如果不想更换现有服务器,也可

为Phonegap Android平台增加websocket支持,使默认成为socket.io首选通

为Phonegap Android平台增加websocket支持,使默认成为socket.io首选通道选择 广而告之 使用socket.io作为跨浏览器平台的实时推送首选,经测试在各个主流浏览器上测试都确实具有良好的下实时表现.这里为推广socketio-netty服务器端实现哈,做次广告,同时预热一下: socketio-netty : 又一款socket.io服务器端实现,兼容0.9-1.0版本~ 示范目的 我们要构建一个在市面上常见浏览器上都可以正常运行的集体聊天应用,保证在IE6+,Fi