| | |
| | | } |
| | | for (GatewayBean gatewayBean : this.getGatewayList()) { |
| | | if (macAndSid.equals(gatewayBean.getDevice_mac()) |
| | | || macAndSid.equals(gatewayBean.getSid())) { |
| | | || macAndSid.equals(gatewayBean.getSid()) |
| | | || macAndSid.equals(gatewayBean.getOid())) { |
| | | return gatewayBean; |
| | | } |
| | | } |
| | |
| | | ThreadToolUtils.getInstance().newFixedThreadPool(1).execute(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | int count = 5; |
| | | int count = 10; |
| | | while (0 < count--) { |
| | | try { |
| | | //搜索网关 |
| | |
| | | /** |
| | | * 发送数据到Link网关 |
| | | * |
| | | * @param ip 网关IP |
| | | * @param mac 网关mac |
| | | * @param isEncrypt 是否加密 |
| | | * @param topic 请求主题 |
| | | * @param jObject 负载数据<没有填null></> |
| | | * @param sendPath 发送路径<类名+方法名>class->methodName</> |
| | | */ |
| | | public void sendDataToLinkGateway(String ip, String mac, boolean isEncrypt, |
| | | public void sendDataToLinkGateway(String mac, boolean isEncrypt, |
| | | String topic, Object jObject, String sendPath, HDLLinkCallBack callBack) { |
| | | String topicSend = topic.replace("%s", mac); |
| | | GatewayBean gatewayBean = this.getLocalGateway(mac); |
| | | if (gatewayBean == null) { |
| | | callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_FOUND_LOCALLY)); |
| | | return; |
| | | } |
| | | String topicSend = topic.replace("%s", gatewayBean.getOid()); |
| | | //组装需要发送的数据 |
| | | String sendStr = createSendData(jObject); |
| | | // LogUtils.i("sendDataToLinkGateway->" + sendPath + "->本地发送\r\n" + topicSend + "\r\n" + sendStr); |
| | | LinkRequest message = new LinkRequest(topicSend, sendStr, isEncrypt); |
| | | message.setCloudTopic(topic.replace("%s", gatewayBean.getGatewayId())); |
| | | new HDLConnectHelper(gatewayBean.getIp_address(), message, new HDLConnectHelper.HdlSocketListener() { |
| | | @Override |
| | | public void onSucceed(Object msg) { |
| | | if (callBack == null) return; |
| | | try { |
| | | JSONObject jsonObject = new JSONObject(new Gson().toJson(msg)); |
| | | if (jsonObject.has("data")) { |
| | | callBack.onSuccess(jsonObject.getString("data")); |
| | | } |
| | | } catch (Exception e) { |
| | | callBack.onSuccess(e.getMessage()); |
| | | } |
| | | // LogUtils.i("sendDataToLinkGateway->"+sendPath+"->本地接收数据\r\n"+msg.toString()); |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLLinkCode hdlLinkCode) { |
| | | if (callBack == null) return; |
| | | callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode)); |
| | | // LogUtils.i("sendDataToLinkGateway->" + sendPath + "->本地接收数据->失败(-200)"); |
| | | } |
| | | }, true, mac).send(); |
| | | } |
| | | |
| | | /** |
| | | * 发送数据到Link网关 |
| | | * |
| | | * @param mac 网关mac |
| | | * @param topic 请求主题 |
| | | * @param jObject 负载数据<没有填null></> |
| | | * @param sendPath 发送路径<类名+方法名>class->methodName</> |
| | | */ |
| | | public void sendDataToLinkGateway(String mac, |
| | | String topic, Object jObject, String sendPath, HDLLinkCallBack callBack) { |
| | | GatewayBean gatewayBean = this.getLocalGateway(mac); |
| | | if (gatewayBean != null) { |
| | | message.setCloudTopic(topic.replace("%s", gatewayBean.getGatewayId())); |
| | | if (gatewayBean == null) { |
| | | callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_FOUND_LOCALLY)); |
| | | return; |
| | | } |
| | | new HDLConnectHelper(ip, message, new HDLConnectHelper.HdlSocketListener() { |
| | | String topicSend = topic.replace("%s", gatewayBean.getOid()); |
| | | //组装需要发送的数据 |
| | | String sendStr = createSendData(jObject); |
| | | // LogUtils.i("sendDataToLinkGateway->" + sendPath + "->本地发送\r\n" + topicSend + "\r\n" + sendStr); |
| | | LinkRequest message = new LinkRequest(topicSend, sendStr, gatewayBean.getIsLocalEncrypt()); |
| | | message.setCloudTopic(topic.replace("%s", gatewayBean.getGatewayId())); |
| | | new HDLConnectHelper(gatewayBean.getIp_address(), message, new HDLConnectHelper.HdlSocketListener() { |
| | | @Override |
| | | public void onSucceed(Object msg) { |
| | | if (callBack == null) return; |