| | |
| | | EventDispatcher.getInstance().register(TopicConstant.GATEWAY_AUTH_BROADCAST, new EventListener() { |
| | | @Override |
| | | public void onMessage(Object msg) { |
| | | LogUtils.i("收到网关认证信息: "); |
| | | NetworkAccessBroadcastResponse bean = getNetworkAccessBroadcastResponse(msg); |
| | | if (bean != null) { |
| | | //移除监听 |
| | | EventDispatcher.getInstance().remove(TopicConstant.GATEWAY_AUTH_BROADCAST); |
| | | LogUtils.i("网关入网广播IP: " + bean.getIPAddress()); |
| | | HDLLinkConfig.getInstance().setIpAddress(bean.getIPAddress()); |
| | | String ipStr = bean.getIPAddress(); |
| | | if (!TextUtils.isEmpty(ipStr)) { |
| | | sendAuthenticateRequest(ipStr, request, callBack); |
| | | try { |
| | | LogUtils.i("收到网关认证信息: "); |
| | | NetworkAccessBroadcastResponse bean = getNetworkAccessBroadcastResponse(msg); |
| | | if (bean != null) { |
| | | LogUtils.i("网关入网广播IP: " + bean.getIPAddress()); |
| | | if (!TextUtils.isEmpty(bean.getSlave_mac())) { |
| | | if (!bean.getSlave_mac().equals(request.getObjects().getDeviceMAC())) { |
| | | LogUtils.i("入网验证的mac和本机不一样,请求的MAC是"+bean.getSlave_mac()+" 本机的是"+request.getObjects().getDeviceMAC()); |
| | | return; |
| | | } |
| | | } |
| | | //移除监听 |
| | | EventDispatcher.getInstance().remove(TopicConstant.GATEWAY_AUTH_BROADCAST); |
| | | HDLLinkConfig.getInstance().setIpAddress(bean.getIPAddress()); |
| | | String ipStr = bean.getIPAddress(); |
| | | if (!TextUtils.isEmpty(ipStr)) { |
| | | sendAuthenticateRequest(ipStr, request, callBack); |
| | | } |
| | | } |
| | | } |
| | | |
| | | }catch (Exception e){ |
| | | LogUtils.e("入网验证异常",e.getMessage()); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | |
| | | request.setIp_address(authenticateDeviceInfoBean.getIPAddress()); |
| | | request.setMaster("false"); |
| | | request.setLocalEncrypt(false); |
| | | request.setHomeId(HDLLinkConfig.getInstance().getHomeId()); |
| | | |
| | | data.setObjects(request); |
| | | |
| | |
| | | String localSecret = ""; |
| | | String gatewayId = ""; |
| | | String ipAddress = ""; |
| | | String homeId=""; |
| | | if (bean.getAuth() != null) { |
| | | localSecret = bean.getAuth().getLocalSecret(); |
| | | } |
| | | if (bean.getObjects() != null) { |
| | | gatewayId = bean.getObjects().getGatewayID(); |
| | | ipAddress = bean.getObjects().getIPAddress(); |
| | | homeId=bean.getObjects().getHomeId(); |
| | | } |
| | | if (ipAddress == null) { |
| | | ipAddress = bean.getIp_address(); |
| | | } |
| | | if(!TextUtils.isEmpty(homeId)){ |
| | | HDLLinkConfig.getInstance().setHomeId(homeId); |
| | | } |
| | | HDLLinkConfig.getInstance().setAuthBean(request.getAuth()); |
| | | |
| | | //判断网关是否已经注册到云端 |
| | | Log.d("panlili", "HDLAuthSocket.java:onSucceed-----> " + localSecret); |
| | | Log.d("panlili", "认证成功----->localSecret= " + localSecret); |
| | | if (TextUtils.isEmpty(localSecret) && TextUtils.isEmpty(gatewayId)) { |
| | | //认证失败,网关未注册到云端 |
| | | callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_AUTH_ERROR_GATEWAY_NOT_REGISTERED)); |