public static WebSocket webSocket;
public OkHttpClient mOkHttpClient = new OkHttpClient.Builder().readTimeout(15000, TimeUnit.SECONDS)//设置读取超时时间
.writeTimeout(15000, TimeUnit.SECONDS)//设置写的超时时间
.connectTimeout(15000, TimeUnit.SECONDS)//设置连接超时时间
.build();
public void webSocket() {
String url = "ws://websocket"; //服务端的地址
Request request = new Request.Builder().url(url).build();
WebSocketCall webSocketCall = WebSocketCall.create(mOkHttpClient, request);
webSocketCall.enqueue(new WebSocketListener() {
@Override
public void onOpen(WebSocket webSocket, Response response) {
Log.d("WebSocketCall", "onOpen");
MainActivity.webSocket = webSocket;
try {
webSocket.sendMessage(RequestBody.create(WebSocket.TEXT, "测试"));//发送内容
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 连接失败
*/
@Override
public void onFailure(IOException e, Response response) {
Log.d("WebSocketCall", "onFailure");
}
/**
* 接收到消息
*/
@Override
public void onMessage(ResponseBody message) throws IOException {
try {
MyLog.e("message" + message.string());//接收实时内容
} catch (Exception e) {
message.source().close();
}
message.source().close();
}
@Override
public void onPong(Buffer payload) {
Log.d("WebSocketCall", "onPong:");
}
/**
* 关闭
*/
@Override
public void onClose(int code, String reason) {
MyLog.e("onClose");
}
});
}
Android 简单的webSocket长连接
最新推荐文章于 2025-01-31 02:36:30 发布