android实现一个聊天功能,okhttp内置的websocket蛮好用的,简单介绍其使用方式

1.项目用的是retrofit2自带okhttp,没有的话添加依赖 

implementation 'com.squareup.okhttp3:okhttp:3.8.1'

2.重要的网络权限不能少

3.某个activity中初始化

OkHttpClient client = new OkHttpClient.Builder()        .retryOnConnectionFailure(true)//允许失败重试        .readTimeout(5, TimeUnit.SECONDS)//设置读取超时时间        .writeTimeout(5, TimeUnit.SECONDS)//设置写的超时时间        .connectTimeout(5, TimeUnit.SECONDS)//设置连接超时时间        .build();
String url = ws://web.xxx.xxx.com:xxx//服务器获取的urlRequest request  = new Request.Builder().url(url).build();
WebSocket webSocket = client.newWebSocket(request, new WebSocketListener() {//主要的几个方法(在子线程中回调,刷新UI记得使用Handler)        @Override        public void onOpen(WebSocket webSocket, Response response) {            super.onOpen(webSocket, response);            //连接成功        }        @Override        public void onMessage(WebSocket webSocket, String text) {            super.onMessage(webSocket, text);            //接收服务器消息 text        }        @Override        public void onMessage(WebSocket webSocket, ByteString bytes) {            super.onMessage(webSocket, bytes);            //如果服务器传递的是byte类型的            String msg = bytes.utf8();        }        @Override        public void onFailure(WebSocket webSocket, Throwable t, @Nullable Response response) {            super.onFailure(webSocket, t, response);            //连接失败调用 异常信息t.getMessage()        }    });    client.dispatcher().executorService().shutdown();//内存不足时释放    }

4.需要将信息传递给服务器 

webSocket.send("发送的消息")

 

以上!

更多相关文章

  1. Android多线程下安全访问数据库
  2. Android(安卓)TCP/UDP开源库NetworkDebugAssistant使用教程
  3. Android(安卓)无法debug的问题
  4. 插曲1-项目开始前夕【我的第一次云项目连载】
  5. XE5 Android(安卓)开发数据访问server端
  6. UBUNTU LINUX中连接ANDROID真机调试
  7. android socket通讯
  8. Android开发——SQLite数据库(二)android studio创建数据库,进行插
  9. Android(安卓)获取当前连接的wifi名称和rssi

随机推荐

  1. SQLServer2005创建定时作业任务
  2. SQL Server:触发器实例详解
  3. Oracle 删除用户和表空间详细介绍
  4. SQLServer数据库从高版本降级到低版本实
  5. Ubuntu 下安装SQL Server教程
  6. SQL判断语句用法和多表查询
  7. SQLServer获取临时表所有列名或是否存在
  8. Sql Server中Substring函数的用法实例解
  9. Mysql数据库性能优化三(分表、增量备份、
  10. SQL where条件和jion on条件的详解及区