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_SIZE)//设置帧队列最大值为5 .setMissingCloseFrameAllowed(false)//设置不允许服务端关闭连接却未发送关闭帧 .addListener(wsListener = new WsListener())//添加回调监听 .connectAsynchronously();//异步连接 } catch (IOException e) { e.printStackTrace(); }
三、添加内部类,实现回调监听
/** * 继承默认的监听空实现WebSocketAdapter,重写我们需要的方法 * onTextMessage 收到文字信息 * onConnected 连接成功 * onConnectError 连接失败 * onDisconnected 连接关闭 */ class WsListener extends WebSocketAdapter { @Override public void onTextMessage(WebSocket websocket, String text) throws Exception { super.onTextMessage(websocket, text); logger.info(text); String[] msgs = text.split("\\|"); if (msgs.length >= 2) { NotificationShow(msgs[0], msgs[1]); sendReceiveMessageBroadcast(msgs[0], msgs[1]); } } @Override public void onConnected(WebSocket websocket, Map<String, List<String>> headers) throws Exception { super.onConnected(websocket, headers); logger.info("连接成功"); } @Override public void onConnectError(WebSocket websocket, WebSocketException exception) throws Exception { super.onConnectError(websocket, exception); logger.warning("连接错误:" + exception.getMessage()); } @Override public void onDisconnected(WebSocket websocket, WebSocketFrame serverCloseFrame, WebSocketFrame clientCloseFrame, boolean closedByServer) throws Exception { super.onDisconnected(websocket, serverCloseFrame, clientCloseFrame, closedByServer); logger.warning("断开连接"); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)