From 8b66be08179b026cb0e601733dacd43de97e5b01 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期二, 21 十二月 2021 10:20:34 +0800 Subject: [PATCH] 完善下网关上网重连功能及广播设备基本数据 --- HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java | 38 ++++++++++++++++++++++++++------------ 1 files changed, 26 insertions(+), 12 deletions(-) diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java index 4e9d13c..3f3c359 100644 --- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java +++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java @@ -15,6 +15,7 @@ import java.io.OutputStream; import java.net.InetSocketAddress; import java.net.Socket; +import java.util.ArrayList; import java.util.List; @@ -31,12 +32,32 @@ private Socket mSocket; - private byte[] readBuffer; + private final static List<TcpClient> tcpClientList = new ArrayList(); + + /** + * 浠庤繛鎺ユ睜涓壘鍑哄綋鍓岻P鍙婄鍙g殑杩炴帴瀹㈡埛绔� + * @param ipAdderss 杩炴帴IP鍦板潃 + * @param port 杩炴帴绔彛 + * @return + */ + public static TcpClient getTcpClientByIP(String ipAdderss,int port) { + for(TcpClient tcpClient:tcpClientList){ + if(tcpClient.ip.equals(ipAdderss)&&tcpClient.port==port) + { + return tcpClient; + } + } + return null; + } + + private byte[] readBuffer = new byte[4*1024]; private TcpClient(String ip, int port, SocketOptions socketOptions) { this.socketOptions = socketOptions; this.ip = ip; this.port = port; + socketOptions.setIp(ip); + socketOptions.setPort(port); } public static SocketBoot init(String ip, int port, SocketOptions options) { @@ -52,8 +73,11 @@ mSocket.setTcpNoDelay(true); mSocket.setReuseAddress(true); mSocket.setKeepAlive(true); - readBuffer = new byte[options.getReadMaxBufferSize()]; + + tcpClientList.add(this); } + + @Override @@ -66,16 +90,6 @@ } } } - - @Override - public boolean isConnect() { - if (mSocket == null) { - return false; - } - - return mSocket.isConnected() && !mSocket.isClosed(); - } - @Override public synchronized SocketOptions getOptions() { -- Gitblit v1.8.0