[change]修改重连时,可能引起的崩溃

This commit is contained in:
xinfengkun
2022-05-30 19:57:27 +08:00
parent 48b8b8c2a9
commit 254d95203b

View File

@@ -54,8 +54,6 @@ public class FpgaSocket implements IWebSocket {
private IWebSocketConnectListener mWebSocketConnectListener;
private OkHttpClient.Builder okBuilder;
private String wsHost;
private String ipAddress;
private int port;
@@ -82,25 +80,19 @@ public class FpgaSocket implements IWebSocket {
}
private void init() {
if (listener == null) {
listener = new EchoWebSocketListener();
}
if (okBuilder == null) {
okBuilder = new OkHttpClient.Builder();
okBuilder.writeTimeout(4, TimeUnit.SECONDS)
.readTimeout(4, TimeUnit.SECONDS)
.connectTimeout(2, TimeUnit.SECONDS);
ReceiveTimeoutManager.getInstance().setListener(new ReceiveTimeoutManager.OnTimeoutListener() {
@Override
public void onTimeout(double time) {
receiveTimeoutReason = "心跳超时(" + time + "秒)";
onPassiveClose(1001, receiveTimeoutReason);
}
});
}
if (client == null) {
client = okBuilder.build();
}
listener = new EchoWebSocketListener();
OkHttpClient.Builder okBuilder = new OkHttpClient.Builder();
okBuilder.writeTimeout(4, TimeUnit.SECONDS)
.readTimeout(4, TimeUnit.SECONDS)
.connectTimeout(2, TimeUnit.SECONDS);
ReceiveTimeoutManager.getInstance().setListener(new ReceiveTimeoutManager.OnTimeoutListener() {
@Override
public void onTimeout(double time) {
receiveTimeoutReason = "心跳超时(" + time + "秒)";
onPassiveClose(1001, receiveTimeoutReason);
}
});
client = okBuilder.build();
}
@Override
@@ -111,12 +103,11 @@ public class FpgaSocket implements IWebSocket {
isPassiveClose.set(false);
wsHost = WS_IP_HOST_HEAD + address + String.format(Locale.getDefault(), RESOURCE_PATH, port);
CupidLogUtils.i(TAG, "WebSocket 主动连接= " + wsHost);
init();
connect("连接中");
}
private void connect(String msg) {
if (client != null && mWebSocket == null) {
if (mWebSocket == null) {
if (mWebSocketConnectListener != null)
mWebSocketConnectListener.onConnecting(msg);
Request request = new Request.Builder()
@@ -157,8 +148,6 @@ public class FpgaSocket implements IWebSocket {
} else {
onConnectFailed(null);
}
listener = null;
client = null;
}
@Override