Android websocket使用
源码地址
gitHub地址 https://github.com/crossbario/autobahn-java
支持wss和ws
1、添加依赖:
dependencies { implementation 'io.crossbar.autobahn:autobahn-android:18.5.1' }
可能遇到的问题 1
解决办法:(1)修改 minSdkVersion = 24
解决办法:(2)AndroidManifest.xml 中添加 <uses-sdk tools:overrideLibrary="io.crossbar.autobahn"/>
可能遇到的问题 2
解决办法:
在Android{ } 中加入了
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
2,简单使用介绍
public class MyWebSocketManager { private volatile static MyWebSocketManager webSocketManager; private WebSocketConnection wsc; private MyWebSocketManager() { } public static MyWebSocketManager getInstance() { if (webSocketManager == null) { synchronized (MyWebSocketManager.class) { if (webSocketManager == null) { webSocketManager = new MyWebSocketManager(); } } } return webSocketManager; } public void connReceiveWebSocketData() { if (null == wsc) { wsc = new WebSocketConnection(); } WebSocketOptions mWebSocketOptions = new WebSocketOptions(); mWebSocketOptions.setMaxFramePayloadSize(1024 * 1024 * 2); //重连间隔 mWebSocketOptions.setReconnectInterval(10000); try { wsc.connect( "wss://message.yunke.com/message.plan.ws", new WebSocketConnectionHandler() { @Override public void onOpen() { //第一次建立连接要发送的参数 final String message = getJsonString(); if (wsc != null && message != null) { try { wsc.sendMessage(message); } catch (Exception e) { e.printStackTrace(); } } } @Override public void onMessage(final String payload) { } @Override public void onClose(int code, String reason) { } }, mWebSocketOptions); } catch (Exception e) { e.printStackTrace(); } } private String getJsonString() { WebSocketParamsEnty mWebSocketParamsEnty = new WebSocketParamsEnty(); Gson gson = new Gson(); String message = gson.toJson(mWebSocketParamsEnty); return message; } /** * 关闭WebSocket */ public void closeWebSocket() { if (wsc != null) { wsc.sendClose(); } } }
参考于:https://blog.csdn.net/qq_32671919/article/details/81221226
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人