package com.hdl.sdk.socket;
|
|
|
import com.hdl.sdk.socket.codec.IHandleMessage;
|
import com.hdl.sdk.socket.listener.ConnectStatusListener;
|
|
import java.io.UnsupportedEncodingException;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* Created by Tong on 2021/9/22.
|
* socket配置
|
*/
|
public class SocketOptions {
|
|
//设置读取缓存
|
private int readMaxBufferSize = 512;
|
|
//发送心跳包
|
private boolean isEnabledHeartbeat = true;
|
|
//心跳包
|
private byte[] heartbeatData;
|
|
//心跳包时间间隔
|
private long heartbeatTimeInterval = 300L;
|
|
//处理数据
|
private IHandleMessage handleMessage;
|
|
//监听状态
|
private List<ConnectStatusListener> mConnectStatusListener;
|
|
//最大重连次数,小于0无限次数,等于0不重连
|
private int maxRetry = -1;
|
|
private boolean isTcpNoDelay;
|
private boolean isReuseAddress;
|
//保持活动状态
|
private boolean isKeepAlive;
|
private boolean isOOBInline;
|
private int sendBufferSize;
|
private int receiveBufferSize;
|
private int soTimeout;
|
private boolean soLinger;
|
|
|
public IHandleMessage getHandleMessage() {
|
return handleMessage;
|
}
|
|
public void setHandleMessage(IHandleMessage handleMessage) {
|
this.handleMessage = handleMessage;
|
}
|
|
public boolean isEnabledHeartbeat() {
|
return isEnabledHeartbeat;
|
}
|
|
public void setEnabledHeartbeat(boolean enabledHeartbeat) {
|
isEnabledHeartbeat = enabledHeartbeat;
|
}
|
|
public byte[] getHeartbeatData() {
|
return heartbeatData;
|
}
|
|
public void setHeartbeatData(byte[] heartbeatData) {
|
this.heartbeatData = heartbeatData;
|
}
|
|
public void setHeartbeatData(String heartbeatData) {
|
try {
|
this.heartbeatData = heartbeatData.getBytes("utf-8");
|
} catch (UnsupportedEncodingException e) {
|
e.printStackTrace();
|
}
|
}
|
|
public long getHeartbeatTimeInterval() {
|
return heartbeatTimeInterval;
|
}
|
|
public void setHeartbeatTimeInterval(long heartbeatTimeInterval) {
|
this.heartbeatTimeInterval = heartbeatTimeInterval;
|
}
|
|
public void clearConnectStatusListener() {
|
if (mConnectStatusListener != null && !mConnectStatusListener.isEmpty()) {
|
mConnectStatusListener.clear();
|
}
|
}
|
|
public void addConnectStatusListener(ConnectStatusListener connectStatusListener) {
|
if (mConnectStatusListener == null) {
|
mConnectStatusListener = new ArrayList<>();
|
}
|
mConnectStatusListener.add(connectStatusListener);
|
}
|
|
public void removeConnectStatusListener(ConnectStatusListener connectStatusListener) {
|
if (mConnectStatusListener != null) {
|
mConnectStatusListener.remove(connectStatusListener);
|
}
|
}
|
|
|
public List<ConnectStatusListener> getConnectStatusListener() {
|
return mConnectStatusListener;
|
}
|
|
|
public int getMaxRetry() {
|
return maxRetry;
|
}
|
|
public void setMaxRetry(int maxRetry) {
|
this.maxRetry = maxRetry;
|
}
|
|
public int getReadMaxBufferSize() {
|
return readMaxBufferSize;
|
}
|
|
public void setReadMaxBufferSize(int readMaxBufferSize) {
|
this.readMaxBufferSize = readMaxBufferSize;
|
}
|
|
}
|