diff --git a/SensorHub.HydrogenSulfide/HydrogenSulfide.cs b/SensorHub.HydrogenSulfide/HydrogenSulfide.cs index 8691d2f..2bc32cf 100644 --- a/SensorHub.HydrogenSulfide/HydrogenSulfide.cs +++ b/SensorHub.HydrogenSulfide/HydrogenSulfide.cs @@ -52,7 +52,7 @@ //判断是返回的设置确认数据帧, 回复第三方 if (operType == "SetResponse") { - Common.sendSetResponse(session, devCode, "HydrogenSulfide"); + Common.sendSetResponse(session, devCode, devName); return; } diff --git a/SensorHub.HydrogenSulfide/HydrogenSulfide.cs b/SensorHub.HydrogenSulfide/HydrogenSulfide.cs index 8691d2f..2bc32cf 100644 --- a/SensorHub.HydrogenSulfide/HydrogenSulfide.cs +++ b/SensorHub.HydrogenSulfide/HydrogenSulfide.cs @@ -52,7 +52,7 @@ //判断是返回的设置确认数据帧, 回复第三方 if (operType == "SetResponse") { - Common.sendSetResponse(session, devCode, "HydrogenSulfide"); + Common.sendSetResponse(session, devCode, devName); return; } diff --git a/SensorHub.Methane/Methane.cs b/SensorHub.Methane/Methane.cs index aee6906..d5f5f29 100644 --- a/SensorHub.Methane/Methane.cs +++ b/SensorHub.Methane/Methane.cs @@ -5,8 +5,10 @@ using SuperSocket.SocketBase.Protocol; using System; using System.Collections.Generic; +using System.Configuration; using System.Linq; using System.Text; +using System.Threading; namespace SensorHub.Methane { @@ -74,6 +76,9 @@ List datasList = new List(); List startupList = new List(); + Mutex mutex = new Mutex(); + mutex.WaitOne(); + foreach (Tag tag in tags) { if (!(tag is UploadTag)) @@ -191,8 +196,16 @@ } } - // Common.sendMessage(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); - Common.kafkaProduce(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + // 发送到flume或者kafka + if (ConfigurationManager.AppSettings["flumeOrKafka"].Equals("flume")) + { + Common.sendMessage(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + } else if (ConfigurationManager.AppSettings["flumeOrKafka"].Equals("kafka")) + { + Common.kafkaProduce(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + } + + mutex.ReleaseMutex(); if (softwareVersion != "" || size != 0 || offset != 0)//进入远程升级流程 { diff --git a/SensorHub.HydrogenSulfide/HydrogenSulfide.cs b/SensorHub.HydrogenSulfide/HydrogenSulfide.cs index 8691d2f..2bc32cf 100644 --- a/SensorHub.HydrogenSulfide/HydrogenSulfide.cs +++ b/SensorHub.HydrogenSulfide/HydrogenSulfide.cs @@ -52,7 +52,7 @@ //判断是返回的设置确认数据帧, 回复第三方 if (operType == "SetResponse") { - Common.sendSetResponse(session, devCode, "HydrogenSulfide"); + Common.sendSetResponse(session, devCode, devName); return; } diff --git a/SensorHub.Methane/Methane.cs b/SensorHub.Methane/Methane.cs index aee6906..d5f5f29 100644 --- a/SensorHub.Methane/Methane.cs +++ b/SensorHub.Methane/Methane.cs @@ -5,8 +5,10 @@ using SuperSocket.SocketBase.Protocol; using System; using System.Collections.Generic; +using System.Configuration; using System.Linq; using System.Text; +using System.Threading; namespace SensorHub.Methane { @@ -74,6 +76,9 @@ List datasList = new List(); List startupList = new List(); + Mutex mutex = new Mutex(); + mutex.WaitOne(); + foreach (Tag tag in tags) { if (!(tag is UploadTag)) @@ -191,8 +196,16 @@ } } - // Common.sendMessage(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); - Common.kafkaProduce(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + // 发送到flume或者kafka + if (ConfigurationManager.AppSettings["flumeOrKafka"].Equals("flume")) + { + Common.sendMessage(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + } else if (ConfigurationManager.AppSettings["flumeOrKafka"].Equals("kafka")) + { + Common.kafkaProduce(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + } + + mutex.ReleaseMutex(); if (softwareVersion != "" || size != 0 || offset != 0)//进入远程升级流程 { diff --git a/SensorHub.Methane/SensorHub.Methane.csproj b/SensorHub.Methane/SensorHub.Methane.csproj index b7da214..acdfb64 100644 --- a/SensorHub.Methane/SensorHub.Methane.csproj +++ b/SensorHub.Methane/SensorHub.Methane.csproj @@ -43,6 +43,7 @@ ..\bin\SuperSocket.SocketBase.dll + diff --git a/SensorHub.HydrogenSulfide/HydrogenSulfide.cs b/SensorHub.HydrogenSulfide/HydrogenSulfide.cs index 8691d2f..2bc32cf 100644 --- a/SensorHub.HydrogenSulfide/HydrogenSulfide.cs +++ b/SensorHub.HydrogenSulfide/HydrogenSulfide.cs @@ -52,7 +52,7 @@ //判断是返回的设置确认数据帧, 回复第三方 if (operType == "SetResponse") { - Common.sendSetResponse(session, devCode, "HydrogenSulfide"); + Common.sendSetResponse(session, devCode, devName); return; } diff --git a/SensorHub.Methane/Methane.cs b/SensorHub.Methane/Methane.cs index aee6906..d5f5f29 100644 --- a/SensorHub.Methane/Methane.cs +++ b/SensorHub.Methane/Methane.cs @@ -5,8 +5,10 @@ using SuperSocket.SocketBase.Protocol; using System; using System.Collections.Generic; +using System.Configuration; using System.Linq; using System.Text; +using System.Threading; namespace SensorHub.Methane { @@ -74,6 +76,9 @@ List datasList = new List(); List startupList = new List(); + Mutex mutex = new Mutex(); + mutex.WaitOne(); + foreach (Tag tag in tags) { if (!(tag is UploadTag)) @@ -191,8 +196,16 @@ } } - // Common.sendMessage(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); - Common.kafkaProduce(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + // 发送到flume或者kafka + if (ConfigurationManager.AppSettings["flumeOrKafka"].Equals("flume")) + { + Common.sendMessage(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + } else if (ConfigurationManager.AppSettings["flumeOrKafka"].Equals("kafka")) + { + Common.kafkaProduce(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + } + + mutex.ReleaseMutex(); if (softwareVersion != "" || size != 0 || offset != 0)//进入远程升级流程 { diff --git a/SensorHub.Methane/SensorHub.Methane.csproj b/SensorHub.Methane/SensorHub.Methane.csproj index b7da214..acdfb64 100644 --- a/SensorHub.Methane/SensorHub.Methane.csproj +++ b/SensorHub.Methane/SensorHub.Methane.csproj @@ -43,6 +43,7 @@ ..\bin\SuperSocket.SocketBase.dll + diff --git a/SensorHub.Servers/SM4/SM4Utils.cs b/SensorHub.Servers/SM4/SM4Utils.cs index b905c40..f96b6b3 100644 --- a/SensorHub.Servers/SM4/SM4Utils.cs +++ b/SensorHub.Servers/SM4/SM4Utils.cs @@ -35,11 +35,14 @@ public static String sm4Decrypt(byte[] cipherBytes, String devcode) { + /* String secretKey = getSecretKeyByDevcode(devcode); if (secretKey == "") { secretKey = System.Configuration.ConfigurationManager.AppSettings["secretKey"]; } + */ + String secretKey = System.Configuration.ConfigurationManager.AppSettings["secretKey"]; SM4_Context ctx = new SM4_Context(); ctx.isPadding = true; diff --git a/SensorHub.HydrogenSulfide/HydrogenSulfide.cs b/SensorHub.HydrogenSulfide/HydrogenSulfide.cs index 8691d2f..2bc32cf 100644 --- a/SensorHub.HydrogenSulfide/HydrogenSulfide.cs +++ b/SensorHub.HydrogenSulfide/HydrogenSulfide.cs @@ -52,7 +52,7 @@ //判断是返回的设置确认数据帧, 回复第三方 if (operType == "SetResponse") { - Common.sendSetResponse(session, devCode, "HydrogenSulfide"); + Common.sendSetResponse(session, devCode, devName); return; } diff --git a/SensorHub.Methane/Methane.cs b/SensorHub.Methane/Methane.cs index aee6906..d5f5f29 100644 --- a/SensorHub.Methane/Methane.cs +++ b/SensorHub.Methane/Methane.cs @@ -5,8 +5,10 @@ using SuperSocket.SocketBase.Protocol; using System; using System.Collections.Generic; +using System.Configuration; using System.Linq; using System.Text; +using System.Threading; namespace SensorHub.Methane { @@ -74,6 +76,9 @@ List datasList = new List(); List startupList = new List(); + Mutex mutex = new Mutex(); + mutex.WaitOne(); + foreach (Tag tag in tags) { if (!(tag is UploadTag)) @@ -191,8 +196,16 @@ } } - // Common.sendMessage(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); - Common.kafkaProduce(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + // 发送到flume或者kafka + if (ConfigurationManager.AppSettings["flumeOrKafka"].Equals("flume")) + { + Common.sendMessage(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + } else if (ConfigurationManager.AppSettings["flumeOrKafka"].Equals("kafka")) + { + Common.kafkaProduce(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + } + + mutex.ReleaseMutex(); if (softwareVersion != "" || size != 0 || offset != 0)//进入远程升级流程 { diff --git a/SensorHub.Methane/SensorHub.Methane.csproj b/SensorHub.Methane/SensorHub.Methane.csproj index b7da214..acdfb64 100644 --- a/SensorHub.Methane/SensorHub.Methane.csproj +++ b/SensorHub.Methane/SensorHub.Methane.csproj @@ -43,6 +43,7 @@ ..\bin\SuperSocket.SocketBase.dll + diff --git a/SensorHub.Servers/SM4/SM4Utils.cs b/SensorHub.Servers/SM4/SM4Utils.cs index b905c40..f96b6b3 100644 --- a/SensorHub.Servers/SM4/SM4Utils.cs +++ b/SensorHub.Servers/SM4/SM4Utils.cs @@ -35,11 +35,14 @@ public static String sm4Decrypt(byte[] cipherBytes, String devcode) { + /* String secretKey = getSecretKeyByDevcode(devcode); if (secretKey == "") { secretKey = System.Configuration.ConfigurationManager.AppSettings["secretKey"]; } + */ + String secretKey = System.Configuration.ConfigurationManager.AppSettings["secretKey"]; SM4_Context ctx = new SM4_Context(); ctx.isPadding = true; diff --git a/SensorHub.WellPlus/WellPlus.cs b/SensorHub.WellPlus/WellPlus.cs index d9418e9..aa858fc 100644 --- a/SensorHub.WellPlus/WellPlus.cs +++ b/SensorHub.WellPlus/WellPlus.cs @@ -41,7 +41,14 @@ session.Logger.Info("设备类型:" + devType); session.Logger.Info("操作类型:" + operType); session.Logger.Info("会话:" + session.HubAddr + "," + session.SessionID); - + + //判断是返回的设置确认数据帧, 回复第三方 + if (operType == "SetResponse") + { + Common.sendSetResponse(session, devCode, devName); + return; + } + List tags = Common.getTags(settings, session); //具体业务处理 @@ -122,9 +129,9 @@ } } - //Common.sendMessage(session, "Well", devCode, -1, eventList, datasList, startupList); - Common.kafkaProduce(session, devName, devCode, -1, null, null, null, eventList, datasList, startupList); - + Common.sendMessage(session, devName, devCode, -1, eventList, datasList, startupList); + // Common.kafkaProduce(session, devName, devCode, -1, null, null, null, eventList, datasList, startupList); + /* if (source != "433") //433井盖不要求回复 { byte[] btPdu = new byte[2]; //2个字节 @@ -140,8 +147,12 @@ btPdu[1] = 0x86; Common.sendConfig(session, devCode, routeFlag, source, btPdu); - } - + }*/ + byte[] btPdu = new byte[2]; //2个字节 + btPdu[0] = Common.getRespOperType(operType, source == "433" ? true : false); + btPdu[1] = 0x9D; + Common.sendConfig(session, devCode, routeFlag, source, btPdu); + } } } diff --git a/SensorHub.HydrogenSulfide/HydrogenSulfide.cs b/SensorHub.HydrogenSulfide/HydrogenSulfide.cs index 8691d2f..2bc32cf 100644 --- a/SensorHub.HydrogenSulfide/HydrogenSulfide.cs +++ b/SensorHub.HydrogenSulfide/HydrogenSulfide.cs @@ -52,7 +52,7 @@ //判断是返回的设置确认数据帧, 回复第三方 if (operType == "SetResponse") { - Common.sendSetResponse(session, devCode, "HydrogenSulfide"); + Common.sendSetResponse(session, devCode, devName); return; } diff --git a/SensorHub.Methane/Methane.cs b/SensorHub.Methane/Methane.cs index aee6906..d5f5f29 100644 --- a/SensorHub.Methane/Methane.cs +++ b/SensorHub.Methane/Methane.cs @@ -5,8 +5,10 @@ using SuperSocket.SocketBase.Protocol; using System; using System.Collections.Generic; +using System.Configuration; using System.Linq; using System.Text; +using System.Threading; namespace SensorHub.Methane { @@ -74,6 +76,9 @@ List datasList = new List(); List startupList = new List(); + Mutex mutex = new Mutex(); + mutex.WaitOne(); + foreach (Tag tag in tags) { if (!(tag is UploadTag)) @@ -191,8 +196,16 @@ } } - // Common.sendMessage(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); - Common.kafkaProduce(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + // 发送到flume或者kafka + if (ConfigurationManager.AppSettings["flumeOrKafka"].Equals("flume")) + { + Common.sendMessage(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + } else if (ConfigurationManager.AppSettings["flumeOrKafka"].Equals("kafka")) + { + Common.kafkaProduce(session, devName, devCode, cell, pci, rsrp, snr, eventList, datasList, startupList); + } + + mutex.ReleaseMutex(); if (softwareVersion != "" || size != 0 || offset != 0)//进入远程升级流程 { diff --git a/SensorHub.Methane/SensorHub.Methane.csproj b/SensorHub.Methane/SensorHub.Methane.csproj index b7da214..acdfb64 100644 --- a/SensorHub.Methane/SensorHub.Methane.csproj +++ b/SensorHub.Methane/SensorHub.Methane.csproj @@ -43,6 +43,7 @@ ..\bin\SuperSocket.SocketBase.dll + diff --git a/SensorHub.Servers/SM4/SM4Utils.cs b/SensorHub.Servers/SM4/SM4Utils.cs index b905c40..f96b6b3 100644 --- a/SensorHub.Servers/SM4/SM4Utils.cs +++ b/SensorHub.Servers/SM4/SM4Utils.cs @@ -35,11 +35,14 @@ public static String sm4Decrypt(byte[] cipherBytes, String devcode) { + /* String secretKey = getSecretKeyByDevcode(devcode); if (secretKey == "") { secretKey = System.Configuration.ConfigurationManager.AppSettings["secretKey"]; } + */ + String secretKey = System.Configuration.ConfigurationManager.AppSettings["secretKey"]; SM4_Context ctx = new SM4_Context(); ctx.isPadding = true; diff --git a/SensorHub.WellPlus/WellPlus.cs b/SensorHub.WellPlus/WellPlus.cs index d9418e9..aa858fc 100644 --- a/SensorHub.WellPlus/WellPlus.cs +++ b/SensorHub.WellPlus/WellPlus.cs @@ -41,7 +41,14 @@ session.Logger.Info("设备类型:" + devType); session.Logger.Info("操作类型:" + operType); session.Logger.Info("会话:" + session.HubAddr + "," + session.SessionID); - + + //判断是返回的设置确认数据帧, 回复第三方 + if (operType == "SetResponse") + { + Common.sendSetResponse(session, devCode, devName); + return; + } + List tags = Common.getTags(settings, session); //具体业务处理 @@ -122,9 +129,9 @@ } } - //Common.sendMessage(session, "Well", devCode, -1, eventList, datasList, startupList); - Common.kafkaProduce(session, devName, devCode, -1, null, null, null, eventList, datasList, startupList); - + Common.sendMessage(session, devName, devCode, -1, eventList, datasList, startupList); + // Common.kafkaProduce(session, devName, devCode, -1, null, null, null, eventList, datasList, startupList); + /* if (source != "433") //433井盖不要求回复 { byte[] btPdu = new byte[2]; //2个字节 @@ -140,8 +147,12 @@ btPdu[1] = 0x86; Common.sendConfig(session, devCode, routeFlag, source, btPdu); - } - + }*/ + byte[] btPdu = new byte[2]; //2个字节 + btPdu[0] = Common.getRespOperType(operType, source == "433" ? true : false); + btPdu[1] = 0x9D; + Common.sendConfig(session, devCode, routeFlag, source, btPdu); + } } } diff --git a/TestClass/App.config b/TestClass/App.config index 2757ed8..43e6287 100644 --- a/TestClass/App.config +++ b/TestClass/App.config @@ -199,6 +199,7 @@ +