From 627093aca723d4bfb971b97c828e8b3a22dbda78 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 17 七月 2020 17:26:19 +0800
Subject: [PATCH] 2020-07-17-1
---
ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs | 86 +++++++++----------------------------------
1 files changed, 18 insertions(+), 68 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs b/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs
index ec0ce95..f2f87b9 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs
@@ -13,7 +13,6 @@
public static class Application
{
public static bool isInited;
- static bool isEncry;
/// <summary>
/// 鏄惁姝e湪鎼滅储缃戝叧
/// </summary>
@@ -84,12 +83,12 @@
if (paths.Length < 3)
continue;
- var gateWay = ZbGateway.GateWayList.Find(obj => (obj != null) && (obj.getGatewayBaseInfo != null) && (obj.getGatewayBaseInfo.gwID == paths[2]));
+ var gateWay = ZbGateway.GateWayList.Find(obj => (obj != null) && (obj.GwId == paths[2]));
if (gateWay == null)
{
gateWay = new ZbGateway { IsVirtual = true };
- gateWay.getGatewayBaseInfo.gwID = paths[2];
- gateWay.getGatewayBaseInfo.HomeId = Shared.Common.Config.Instance.HomeId;
+ gateWay.GwId = paths[2];
+ gateWay.HomeId = Shared.Common.Config.Instance.HomeId;
ZbGateway.GateWayList.Add(gateWay);
}
}
@@ -144,7 +143,7 @@
//鐐瑰鐐瑰彂閫�(鍏堝彂涓�鏉″凡鏈夌殑鐐规挱锛屽洖澶嶅嚑鐜囬珮涓�鐐癸級
for (int i = 0; i < gateWayList.Count; i++)
{
- FindGateWaySocket.BeginSend(new System.Net.IPEndPoint(System.Net.IPAddress.Parse(gateWayList[i].getGatewayBaseInfo.IpAddress), 7624), broadBytes);
+ FindGateWaySocket.BeginSend(new System.Net.IPEndPoint(System.Net.IPAddress.Parse(gateWayList[i].GwIP), 7624), broadBytes);
}
//骞挎挱鍙戦��
if (broadcastIpAddress.ToString() != "0.0.0.0")
@@ -193,19 +192,16 @@
var pubKey = Encoding.UTF8.GetString(bytes, 49 + gwNameLength + 1 + gwIdLength + 2 + 1, pubKeyLength);
var zbGateWay = new ZbGateway
{
- getGatewayBaseInfo = new ZbGateway.GatewayBaseInfo
- {
- IpAddress = ipAddress,
- GwName = gwName,
- HomeId = homeID,
- IsMainGateWay = isMainGateWay,
- gwID = id,
- },
+ GwIP = ipAddress,
+ GwName = gwName,
+ HomeId = homeID,
+ IsMainGateWay = isMainGateWay,
+ GwId = id,
GatewayOnlineFlage = true,
PubKey = pubKey
};
//閫氳鍒扮綉鍏冲垪琛�
- if (gateWayList.Find(obj => obj.getGatewayBaseInfo.gwID == zbGateWay.getGatewayBaseInfo.gwID) == null)
+ if (gateWayList.Find(obj => obj.GwId == zbGateWay.GwId) == null)
{
//缃戝叧鍖归厤褰撳墠浣忓畢涓埌缃戝叧
if (Shared.Common.Config.Instance.HomeId == homeID)
@@ -224,7 +220,7 @@
//}
}
//缃戝叧鍒楄〃瀛樺偍澶勭悊
- var gateWay = ZbGateway.GateWayList.Find(obj => obj.getGatewayBaseInfo != null && obj.getGatewayBaseInfo.gwID == zbGateWay.getGatewayBaseInfo.gwID);
+ var gateWay = ZbGateway.GateWayList.Find(obj => obj.GwId == zbGateWay.GwId);
if (gateWay == null)
{
ZbGateway.GateWayList.Add(zbGateWay);
@@ -236,7 +232,7 @@
gateWay.IsVirtual = false;
//灏嗚缃戝叧鏍囪瘑涓恒�愬彲鎼滅储鍒帮紝鍗筹細鍦ㄧ嚎銆�
gateWay.GatewayOnlineFlage = true;
- if (gateWay.getGatewayBaseInfo.IpAddress != ipAddress)
+ if (gateWay.GwIP != ipAddress)
{
await gateWay.DisConnectLocalMqttClient("2");
ZbGateway.GateWayList.Remove(gateWay);
@@ -247,25 +243,25 @@
else
{
gateWay.PubKey = pubKey;
- gateWay.getGatewayBaseInfo.GwName = gwName;
- gateWay.getGatewayBaseInfo.HomeId = homeID;
+ gateWay.GwName = gwName;
+ gateWay.HomeId = homeID;
await gateWay.StartLocalMqtt(ipAddress);
}
//涓荤綉鍏宠缃�
- if (isMainGateWay && oldHomeID == gateWay.getGatewayBaseInfo.HomeId)
+ if (isMainGateWay && oldHomeID == gateWay.HomeId)
{
for (int i = 0; i < ZbGateway.GateWayList.Count; i++)
{
var gw = ZbGateway.GateWayList[i];
//缃戝叧ID涓嶆槸褰撳墠鐨勭綉鍏筹紝鍒欐妸缃戝叧鍒楄〃涓叾浠栫綉鍏虫爣璁颁负涓嶆槸涓荤綉鍏�
- if (gw.getGatewayBaseInfo.gwID != id && oldHomeID == gw.getGatewayBaseInfo.HomeId)
+ if (gw.GwId != id && oldHomeID == gw.HomeId)
{
- gw.getGatewayBaseInfo.IsMainGateWay = false;
+ gw.IsMainGateWay = false;
}
}
//鏍囪褰撳墠缃戝叧鏄富缃戝叧
- gateWay.getGatewayBaseInfo.IsMainGateWay = true;
+ gateWay.IsMainGateWay = true;
}
}
@@ -334,10 +330,6 @@
{
//鏈湴Socket
public static Socket busSocket;
- /// <summary>
- /// 璁℃椂鍣�
- /// </summary>
- private static int timeCount = 0;
/// <summary>
/// 鍚姩Socket鎺ユ敹鍜屽彂閫佸姛鑳�
@@ -395,52 +387,10 @@
{
try
{
- //妫�娴嬭繛鎺ョ姸鎬�
- CheckConnectiton();
-
Start(7624);
busSocket.BeginSendTo(bytes, 0, bytes.Length, SocketFlags.None, iPEndPoint, new AsyncCallback(asyncEndSend), null);
}
catch { }
- }
-
- /// <summary>
- /// 妫�娴嬭繛鎺ョ姸鎬�
- /// </summary>
- private static void CheckConnectiton()
- {
- if (busSocket == null) { return; }
- timeCount++;
- if (timeCount < 20)
- {
- //姣�10绉掓娴嬩竴娆�
- return;
- }
- timeCount = 0;
-
- bool blockingState = busSocket.Blocking;
- try
- {
- byte[] tmp = new byte[1];
-
- busSocket.Blocking = false;
- busSocket.Send(tmp, 0, 0);
- //tcp杩樺湪杩炴帴鐫�
- busSocket.Blocking = blockingState;
- }
- catch (SocketException e)
- {
- // 10035 == WSAEWOULDBLOCK
- if (e.NativeErrorCode.Equals(10035))
- {
- //Still Connected, but the Send would block
- }
- else
- {
- //tcp宸茬粡鏂紑浜嗚繛鎺�
- Stop();
- }
- }
}
/// <summary>
--
Gitblit v1.8.0