| | |
| | | import java.net.InetAddress; |
| | | import java.net.Socket; |
| | | import java.net.SocketException; |
| | | import java.net.SocketTimeoutException; |
| | | import java.text.MessageFormat; |
| | | import java.util.*; |
| | | |
| | |
| | | private Socket socket; |
| | | private boolean stopThread = false; |
| | | private HashMap<Integer, String> resultKeyMap = new HashMap<Integer, String>(); |
| | | private long lastConnectTime = System.currentTimeMillis(); |
| | | |
| | | public NyShuttleThread(DeviceConfig deviceConfig, RedisUtil redisUtil) { |
| | | this.deviceConfig = deviceConfig; |
| | |
| | | deviceMsgUtils.sendDeviceMsg(SlaveType.Shuttle, deviceConfig.getDeviceNo(), deviceMsgModel); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | // e.printStackTrace(); |
| | | } catch (SocketTimeoutException e) { |
| | | |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | closeSocket(); |
| | | } |
| | | } |
| | |
| | | return true; |
| | | } |
| | | |
| | | if(System.currentTimeMillis() - lastConnectTime < 1000 * 10) { |
| | | return false; |
| | | } |
| | | |
| | | if(this.deviceConfig.getFake()) { |
| | | return fakeConnect(); |
| | | }else { |
| | |
| | | deviceSocket.setSoTimeout(10000); |
| | | deviceSocket.setKeepAlive(true); |
| | | this.socket = deviceSocket; |
| | | this.lastConnectTime = System.currentTimeMillis(); |
| | | log.info(MessageFormat.format("【{0}】四向穿梭车Socket链接成功 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), deviceConfig.getDeviceNo(), deviceConfig.getIp(), deviceConfig.getPort())); |
| | | } |
| | | } |