中国住建厅网站官网,贵阳网站托管,个人简历空白表可编辑,网站游戏网站怎么建设一、背景 android app开发经常会有IM需求#xff0c;很多新手不晓得如何入手#xff0c;难点在于通讯不中断。其实android发展到今天#xff0c;很多技术都很完善#xff0c;有很多类似框架可以实现。例如有#xff1a;okhttp自带的websocket框架、easysocket等等。本文主…一、背景 android app开发经常会有IM需求很多新手不晓得如何入手难点在于通讯不中断。其实android发展到今天很多技术都很完善有很多类似框架可以实现。例如有okhttp自带的websocket框架、easysocket等等。本文主要讨论的是okhttp自带的websocket框架。 二、在项目中添加依赖包 
implementation com.squareup.okhttp3:mockwebserver:3.8.1 三、框架调用 
1、配置OkHttpClient websocket断线重连配置pingInterval即可实现非常之方便。第一个参数为数字第二个为单位一般设置秒(s)。 
pingInterval(HEART_BEAT_RATE, TimeUnit.SECONDS)//设置心跳 
OkHttpClient mClient  new OkHttpClient.Builder().readTimeout(3, TimeUnit.SECONDS)//设置读取超时时间.writeTimeout(3, TimeUnit.SECONDS)//设置写的超时时间.connectTimeout(3, TimeUnit.SECONDS)//设置连接超时时间.pingInterval(HEART_BEAT_RATE, TimeUnit.SECONDS)//设置心跳.build(); 2、调用Url构建WebSocket请求 
//websocket地址
String url  ws://xxxxx//创建请求对象
Request request  new Request.Builder().get().url(url).build(); 
3、建立连接 方法说明 
onOpen()连接成功onMessage(String text)收到字符串类型的消息onMessage(ByteString bytes)收到字节数组类型消息onClosed()连接关闭onFailure()连接失败 
//开始连接
WebSocket websocket  mClient.newWebSocket(request, new WebSocketListener() {Overridepublic void onOpen(WebSocket webSocket, Response response) {super.onOpen(webSocket, response);//连接成功...}Overridepublic void onMessage(WebSocket webSocket, String text) {super.onMessage(webSocket, text);//收到消息}Overridepublic void onMessage(WebSocket webSocket, ByteString bytes) {super.onMessage(webSocket, bytes);//收到消息}Overridepublic void onClosed(WebSocket webSocket, int code, String reason) {super.onClosed(webSocket, code, reason);//连接关闭...}Overridepublic void onFailure(WebSocket webSocket, Throwable throwable, Response response) {super.onFailure(webSocket, throwable, response);//连接失败...}
}); 
4、使用WebSocket对象发送消息 
JSONObject jsonObject  new JSONObject();jsonObject.put(xxxxxx, xxxxx);//发送消息            
websocket.send(jsonObject.toString()); 最后推荐一个android 开发ui框架XUI - Android 原生 UI 框架很多简单的ui都有对应的框架。