From 850763a9d0a766c27c2f3372e82613117cf42c4f Mon Sep 17 00:00:00 2001 From: wangsr Date: Sun, 14 Jan 2024 17:13:37 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=20=E5=88=9D=E6=AD=A5=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E5=A4=9A=E6=9C=8D=E5=8A=A1=E7=AB=AF=E8=BF=9E=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/HighWayIot/v17/.suo | Bin 376832 -> 397312 bytes .../HighWayIot.TouchSocket.csproj | 3 +- .../{TcpClient.cs => RFIDTcpClient.cs} | 10 +- .../bin/Debug/HighWayIot.TouchSocket.dll | Bin 13312 -> 12288 bytes .../bin/Debug/HighWayIot.TouchSocket.pdb | Bin 42496 -> 42496 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 7452 -> 7565 bytes ...TouchSocket.csproj.AssemblyReference.cache | Bin 9796 -> 23994 bytes ...TouchSocket.csproj.CoreCompileInputs.cache | 2 +- .../obj/Debug/HighWayIot.TouchSocket.dll | Bin 13312 -> 12288 bytes .../obj/Debug/HighWayIot.TouchSocket.pdb | Bin 42496 -> 42496 bytes RFIDSocket/App.config | 11 +- RFIDSocket/DataAnalysis.cs | 15 +- RFIDSocket/IPConfig.config | 5 + RFIDSocket/RFIDSocket.Designer.cs | 283 +++++++++++------- RFIDSocket/RFIDSocket.cs | 113 ++++--- RFIDSocket/RFIDSocket.csproj | 5 + RFIDSocket/RFIDSocket.resx | 3 - RFIDSocket/ServerConnect.cs | 123 ++++++++ 18 files changed, 389 insertions(+), 184 deletions(-) rename HighWayIot.TouchSocket/{TcpClient.cs => RFIDTcpClient.cs} (94%) create mode 100644 RFIDSocket/IPConfig.config create mode 100644 RFIDSocket/ServerConnect.cs diff --git a/.vs/HighWayIot/v17/.suo b/.vs/HighWayIot/v17/.suo index bc81352216fded8bfc4e92935a5cc92997598e2e..e182b5f4547ac78f87179cbcd71e6bfc68c94290 100644 GIT binary patch delta 21321 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 X!!7=QoF~b|;o=1d%>w=}W{dv=WF+l9 delta 13436 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 XtY+mw-j)14>w{mJgJYHVZnXagC?0ts diff --git a/HighWayIot.TouchSocket/HighWayIot.TouchSocket.csproj b/HighWayIot.TouchSocket/HighWayIot.TouchSocket.csproj index 8de118c..2beada0 100644 --- a/HighWayIot.TouchSocket/HighWayIot.TouchSocket.csproj +++ b/HighWayIot.TouchSocket/HighWayIot.TouchSocket.csproj @@ -36,6 +36,7 @@ ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + @@ -54,7 +55,7 @@ - + diff --git a/HighWayIot.TouchSocket/TcpClient.cs b/HighWayIot.TouchSocket/RFIDTcpClient.cs similarity index 94% rename from HighWayIot.TouchSocket/TcpClient.cs rename to HighWayIot.TouchSocket/RFIDTcpClient.cs index c35bb09..9a3b4c8 100644 --- a/HighWayIot.TouchSocket/TcpClient.cs +++ b/HighWayIot.TouchSocket/RFIDTcpClient.cs @@ -11,10 +11,9 @@ using TouchSocket.Sockets; namespace HighWayIot.TouchSocket { - public class TcpClient + public class RFIDTcpClient { - private static LogHelper logHelper = LogHelper.Instance; public bool State @@ -25,7 +24,7 @@ namespace HighWayIot.TouchSocket global::TouchSocket.Sockets.TcpClient client = new global::TouchSocket.Sockets.TcpClient(); - public bool ClientStart(string ip, string port) + public bool ClientStart(string clientIP, string clientPort, string serverIP, string serverPort) { try { @@ -61,7 +60,7 @@ namespace HighWayIot.TouchSocket }; client.Setup(new TouchSocketConfig()//载入配置 - .SetRemoteIPHost($"{ip}:{port}") + .SetRemoteIPHost($"{clientIP}:{clientPort}") .ConfigureContainer(a =>//容器的配置顺序应该在最前面 { a.AddConsoleLogger();//添加一个控制台日志注入(注意:在maui中控制台日志不可用) @@ -70,7 +69,7 @@ namespace HighWayIot.TouchSocket { //a.Add();//此处可以添加插件 })); - client.Connect();//启动 + client.Connect($"{serverIP}:{serverPort}");//启动 logHelper.Info("监听服务启动成功"); return true; } @@ -139,6 +138,5 @@ namespace HighWayIot.TouchSocket logHelper.Info($"输入格式错误!"); } } - } } diff --git a/HighWayIot.TouchSocket/bin/Debug/HighWayIot.TouchSocket.dll b/HighWayIot.TouchSocket/bin/Debug/HighWayIot.TouchSocket.dll index 34a453b62cd8cf9206db5fed10e0a85b8c39aabf..da0afc9eb39340419ab7d2bf8753be21dade1cea 100644 GIT binary patch delta 5118 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 delta 5913 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 lP|re~OLJHrGBzMzoa=3jD8y3{uo@@Y- zl^7TpN+w_AkDt7aUyM;1D4EWx0u+k{ibZjPG^hf3sX$(|Kv80OW?nj2n;K9s4Wxw6 zFSSI^qokw&EUZ2`U$B5tWAX#RG*(TR5}}CP96g`Ryh5-NEwJGWxy2?M2#ZdBBxKC0 z4HOBU3>4XHAZ)@atpnu3fFK)?#R$Y~x;R zXYvOLQAVA~Y?5;320#IcYUjkfl+2XGl2pgy;?&%voJzOMoYdl4HbbDSP_;*9UP(Y= zNrqcdey(RpYHlr?(d1}Jc}C;O)spTKCO|d3)j^5nAU%GGxv8~mra&Qcpks9>vrCDv dngMxWSFy2~1DVkv2TndCCB&$+`M#7b69B(aWsLv; delta 381 zcmeCRo@2FPIuE1J<{3O;Op_f2qWPTji&FJca&p)d85kH!CL8hvPfifzn5--y#i%sd zP9U9C87LkL6=&xJsZ;@qq(Vi6Syh3&G?+Y}Uuub-M@dNm*hsa>4+IMs)h7oErLk%t zD-(*y&C&D8%qs*d(*)bFkXvlBov;V17LXS_8Nw6YyiHi1RazS;1OtL>Ko%nqv*`ed zV35Ufg6uFcT_A(Stu!ZxkpswL1!7L^$%&GpjM|gSCFRWZfdUfM&WU*`nJI}SsgA|P zskuoxm2R0isl~Ny20&S%YLCpkl7PgL47Z~ET+fo!+*&rn$!8?x8I2~tk#v_Z2CCt$ y4oWNs>G4aYHjtY@7|lt+T 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 GeJKDz+8~nv diff --git a/HighWayIot.TouchSocket/obj/Debug/HighWayIot.TouchSocket.csproj.CoreCompileInputs.cache b/HighWayIot.TouchSocket/obj/Debug/HighWayIot.TouchSocket.csproj.CoreCompileInputs.cache index f6b7940..df1037e 100644 --- a/HighWayIot.TouchSocket/obj/Debug/HighWayIot.TouchSocket.csproj.CoreCompileInputs.cache +++ b/HighWayIot.TouchSocket/obj/Debug/HighWayIot.TouchSocket.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -23d15fd1b9a74cae28e799b73990ede6b8b2b47e +529351f342a8ba9c98ec790a05321d5270e3d850 diff --git a/HighWayIot.TouchSocket/obj/Debug/HighWayIot.TouchSocket.dll b/HighWayIot.TouchSocket/obj/Debug/HighWayIot.TouchSocket.dll index 34a453b62cd8cf9206db5fed10e0a85b8c39aabf..da0afc9eb39340419ab7d2bf8753be21dade1cea 100644 GIT binary patch delta 5118 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 delta 5913 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 lP|re~OLJHrGBzMzoa=3jD8y3{uo@@ - - - + + +
+ + + + + diff --git a/RFIDSocket/DataAnalysis.cs b/RFIDSocket/DataAnalysis.cs index 5a9678b..3d41893 100644 --- a/RFIDSocket/DataAnalysis.cs +++ b/RFIDSocket/DataAnalysis.cs @@ -3,6 +3,8 @@ using HighWayIot.Repository.service.Impl; using HighWayIot.TouchSocket; using System; using System.Collections.Generic; +using System.Collections.Specialized; +using System.Configuration; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -57,24 +59,13 @@ namespace RFIDSocket foreach (var a in HeartBeatGroup) { var b = a.LastOrDefault(); - if (DateTime.Now - b.BeatTime > TimeSpan.FromSeconds(10)) + if (DateTime.Now - b.BeatTime < TimeSpan.FromSeconds(10)) { HeartbeatsState.Add(b); } } } - public List GetAllIP() - { - var groups = baseContentServiceImpl.GetContentInfos().GroupBy(x => x.IP); - List result = new List(); - foreach (var group in groups) - { - result.Add(group.Key); - } - return result; - } - private string SecondToTime(int t) { int m = t / 60; diff --git a/RFIDSocket/IPConfig.config b/RFIDSocket/IPConfig.config new file mode 100644 index 0000000..2f7bae8 --- /dev/null +++ b/RFIDSocket/IPConfig.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/RFIDSocket/RFIDSocket.Designer.cs b/RFIDSocket/RFIDSocket.Designer.cs index 6810727..daabc61 100644 --- a/RFIDSocket/RFIDSocket.Designer.cs +++ b/RFIDSocket/RFIDSocket.Designer.cs @@ -37,10 +37,10 @@ this.tipsDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.logTimeDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.rFIDContentBindingSource = new System.Windows.Forms.BindingSource(this.components); - this.IPText = new System.Windows.Forms.TextBox(); + this.ClientIP = new System.Windows.Forms.TextBox(); this.SetAddress = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); - this.PortText = new System.Windows.Forms.TextBox(); + this.ClientPort = new System.Windows.Forms.TextBox(); this.MonitorOnOff = new System.Windows.Forms.Button(); this.label4 = new System.Windows.Forms.Label(); this.MonitorState = new System.Windows.Forms.Label(); @@ -73,9 +73,11 @@ this.MultiCount = new System.Windows.Forms.Label(); this.ShortCount = new System.Windows.Forms.Label(); this.label13 = new System.Windows.Forms.Label(); - this.MonitorAddress = new System.Windows.Forms.ComboBox(); + this.ServerIP = new System.Windows.Forms.ComboBox(); this.label12 = new System.Windows.Forms.Label(); this.label14 = new System.Windows.Forms.Label(); + this.ServerPort = new System.Windows.Forms.TextBox(); + this.label15 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.CotentData)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.rFIDContentBindingSource)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).BeginInit(); @@ -97,14 +99,14 @@ this.tipsDataGridViewTextBoxColumn, this.logTimeDataGridViewTextBoxColumn}); this.CotentData.DataSource = this.rFIDContentBindingSource; - this.CotentData.Location = new System.Drawing.Point(12, 129); - this.CotentData.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.CotentData.Location = new System.Drawing.Point(9, 103); + this.CotentData.Margin = new System.Windows.Forms.Padding(2); this.CotentData.Name = "CotentData"; this.CotentData.RowHeadersVisible = false; this.CotentData.RowHeadersWidth = 51; this.CotentData.RowTemplate.Height = 17; this.CotentData.ScrollBars = System.Windows.Forms.ScrollBars.None; - this.CotentData.Size = new System.Drawing.Size(911, 1088); + this.CotentData.Size = new System.Drawing.Size(683, 870); this.CotentData.TabIndex = 0; // // sNDataGridViewTextBoxColumn @@ -159,22 +161,22 @@ // this.rFIDContentBindingSource.DataSource = typeof(HighWayIot.Repository.domain.RFIDContent); // - // IPText + // ClientIP // - this.IPText.Location = new System.Drawing.Point(152, 28); - this.IPText.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.IPText.MaxLength = 6; - this.IPText.Name = "IPText"; - this.IPText.Size = new System.Drawing.Size(129, 25); - this.IPText.TabIndex = 7; - this.IPText.Text = "127.0.0.1"; + this.ClientIP.Location = new System.Drawing.Point(114, 22); + this.ClientIP.Margin = new System.Windows.Forms.Padding(2); + this.ClientIP.MaxLength = 6; + this.ClientIP.Name = "ClientIP"; + this.ClientIP.Size = new System.Drawing.Size(98, 21); + this.ClientIP.TabIndex = 7; + this.ClientIP.Text = "127.0.0.1"; // // SetAddress // - this.SetAddress.Location = new System.Drawing.Point(353, 11); - this.SetAddress.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.SetAddress.Location = new System.Drawing.Point(265, 9); + this.SetAddress.Margin = new System.Windows.Forms.Padding(2); this.SetAddress.Name = "SetAddress"; - this.SetAddress.Size = new System.Drawing.Size(160, 56); + this.SetAddress.Size = new System.Drawing.Size(120, 45); this.SetAddress.TabIndex = 6; this.SetAddress.Text = "确认客户端地址"; this.SetAddress.UseVisualStyleBackColor = true; @@ -183,28 +185,29 @@ // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(12, 33); + this.label1.Location = new System.Drawing.Point(9, 26); + this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(128, 15); + this.label1.Size = new System.Drawing.Size(101, 12); this.label1.TabIndex = 1; this.label1.Text = "客户端IP:端口号"; // - // PortText + // ClientPort // - this.PortText.Location = new System.Drawing.Point(288, 28); - this.PortText.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.PortText.MaxLength = 6; - this.PortText.Name = "PortText"; - this.PortText.Size = new System.Drawing.Size(59, 25); - this.PortText.TabIndex = 0; - this.PortText.Text = "1234"; + this.ClientPort.Location = new System.Drawing.Point(216, 22); + this.ClientPort.Margin = new System.Windows.Forms.Padding(2); + this.ClientPort.MaxLength = 6; + this.ClientPort.Name = "ClientPort"; + this.ClientPort.Size = new System.Drawing.Size(45, 21); + this.ClientPort.TabIndex = 0; + this.ClientPort.Text = "1234"; // // MonitorOnOff // - this.MonitorOnOff.Location = new System.Drawing.Point(928, 13); - this.MonitorOnOff.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.MonitorOnOff.Location = new System.Drawing.Point(696, 10); + this.MonitorOnOff.Margin = new System.Windows.Forms.Padding(2); this.MonitorOnOff.Name = "MonitorOnOff"; - this.MonitorOnOff.Size = new System.Drawing.Size(111, 50); + this.MonitorOnOff.Size = new System.Drawing.Size(83, 40); this.MonitorOnOff.TabIndex = 7; this.MonitorOnOff.Text = "启动监听"; this.MonitorOnOff.UseVisualStyleBackColor = true; @@ -213,9 +216,10 @@ // label4 // this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(1055, 28); + this.label4.Location = new System.Drawing.Point(791, 22); + this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(82, 15); + this.label4.Size = new System.Drawing.Size(65, 12); this.label4.TabIndex = 8; this.label4.Text = "监听状态:"; // @@ -223,23 +227,25 @@ // this.MonitorState.AutoSize = true; this.MonitorState.BackColor = System.Drawing.Color.Transparent; - this.MonitorState.Location = new System.Drawing.Point(1147, 28); + this.MonitorState.Location = new System.Drawing.Point(860, 22); + this.MonitorState.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.MonitorState.Name = "MonitorState"; - this.MonitorState.Size = new System.Drawing.Size(22, 15); + this.MonitorState.Size = new System.Drawing.Size(17, 12); this.MonitorState.TabIndex = 9; this.MonitorState.Text = "关"; // // TableTimer // + this.TableTimer.Enabled = true; this.TableTimer.Interval = 1000; this.TableTimer.Tick += new System.EventHandler(this.TableTimer_Tick); // // PgUp // - this.PgUp.Location = new System.Drawing.Point(12, 74); - this.PgUp.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.PgUp.Location = new System.Drawing.Point(9, 59); + this.PgUp.Margin = new System.Windows.Forms.Padding(2); this.PgUp.Name = "PgUp"; - this.PgUp.Size = new System.Drawing.Size(135, 50); + this.PgUp.Size = new System.Drawing.Size(101, 40); this.PgUp.TabIndex = 8; this.PgUp.Text = "上一页"; this.PgUp.UseVisualStyleBackColor = true; @@ -247,10 +253,10 @@ // // PgDn // - this.PgDn.Location = new System.Drawing.Point(788, 74); - this.PgDn.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.PgDn.Location = new System.Drawing.Point(591, 59); + this.PgDn.Margin = new System.Windows.Forms.Padding(2); this.PgDn.Name = "PgDn"; - this.PgDn.Size = new System.Drawing.Size(135, 50); + this.PgDn.Size = new System.Drawing.Size(101, 40); this.PgDn.TabIndex = 13; this.PgDn.Text = "下一页"; this.PgDn.UseVisualStyleBackColor = true; @@ -261,9 +267,10 @@ this.PageRange.AutoSize = true; this.PageRange.BackColor = System.Drawing.Color.Transparent; this.PageRange.Font = new System.Drawing.Font("宋体", 12F); - this.PageRange.Location = new System.Drawing.Point(441, 88); + this.PageRange.Location = new System.Drawing.Point(331, 70); + this.PageRange.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.PageRange.Name = "PageRange"; - this.PageRange.Size = new System.Drawing.Size(69, 20); + this.PageRange.Size = new System.Drawing.Size(55, 16); this.PageRange.TabIndex = 15; this.PageRange.Text = "1 - 50"; // @@ -271,18 +278,19 @@ // this.label3.AutoSize = true; this.label3.Font = new System.Drawing.Font("宋体", 12F); - this.label3.Location = new System.Drawing.Point(349, 88); + this.label3.Location = new System.Drawing.Point(262, 70); + this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(109, 20); + this.label3.Size = new System.Drawing.Size(87, 16); this.label3.TabIndex = 14; this.label3.Text = "显示条数:"; // // LogStart // - this.LogStart.Location = new System.Drawing.Point(994, 101); - this.LogStart.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.LogStart.Location = new System.Drawing.Point(746, 81); + this.LogStart.Margin = new System.Windows.Forms.Padding(2); this.LogStart.Name = "LogStart"; - this.LogStart.Size = new System.Drawing.Size(113, 50); + this.LogStart.Size = new System.Drawing.Size(85, 40); this.LogStart.TabIndex = 16; this.LogStart.Text = "日志查询"; this.LogStart.UseVisualStyleBackColor = true; @@ -292,9 +300,10 @@ // this.label2.AutoSize = true; this.label2.Font = new System.Drawing.Font("宋体", 12F); - this.label2.Location = new System.Drawing.Point(1048, 206); + this.label2.Location = new System.Drawing.Point(786, 165); + this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(89, 20); + this.label2.Size = new System.Drawing.Size(71, 16); this.label2.TabIndex = 17; this.label2.Text = "连接状态"; // @@ -302,9 +311,10 @@ // this.label6.AutoSize = true; this.label6.Font = new System.Drawing.Font("宋体", 12F); - this.label6.Location = new System.Drawing.Point(1048, 436); + this.label6.Location = new System.Drawing.Point(786, 349); + this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(69, 20); + this.label6.Size = new System.Drawing.Size(55, 16); this.label6.TabIndex = 21; this.label6.Text = "总数量"; // @@ -312,9 +322,10 @@ // this.label7.AutoSize = true; this.label7.Font = new System.Drawing.Font("宋体", 12F); - this.label7.Location = new System.Drawing.Point(1048, 551); + this.label7.Location = new System.Drawing.Point(786, 441); + this.label7.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(89, 20); + this.label7.Size = new System.Drawing.Size(71, 16); this.label7.TabIndex = 23; this.label7.Text = "正常数量"; // @@ -322,18 +333,20 @@ // this.label8.AutoSize = true; this.label8.Font = new System.Drawing.Font("宋体", 12F); - this.label8.Location = new System.Drawing.Point(1048, 668); + this.label8.Location = new System.Drawing.Point(786, 534); + this.label8.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(89, 20); + this.label8.Size = new System.Drawing.Size(71, 16); this.label8.TabIndex = 25; this.label8.Text = "异常数量"; // // pictureBox5 // this.pictureBox5.Image = global::RFIDSocket.Properties.Resources.WarningCount; - this.pictureBox5.Location = new System.Drawing.Point(979, 669); + this.pictureBox5.Location = new System.Drawing.Point(734, 535); + this.pictureBox5.Margin = new System.Windows.Forms.Padding(2); this.pictureBox5.Name = "pictureBox5"; - this.pictureBox5.Size = new System.Drawing.Size(60, 60); + this.pictureBox5.Size = new System.Drawing.Size(45, 48); this.pictureBox5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pictureBox5.TabIndex = 26; this.pictureBox5.TabStop = false; @@ -341,9 +354,10 @@ // pictureBox4 // this.pictureBox4.Image = global::RFIDSocket.Properties.Resources.NormalCount; - this.pictureBox4.Location = new System.Drawing.Point(979, 552); + this.pictureBox4.Location = new System.Drawing.Point(734, 442); + this.pictureBox4.Margin = new System.Windows.Forms.Padding(2); this.pictureBox4.Name = "pictureBox4"; - this.pictureBox4.Size = new System.Drawing.Size(60, 60); + this.pictureBox4.Size = new System.Drawing.Size(45, 48); this.pictureBox4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pictureBox4.TabIndex = 24; this.pictureBox4.TabStop = false; @@ -351,9 +365,10 @@ // pictureBox3 // this.pictureBox3.Image = global::RFIDSocket.Properties.Resources.TotalCount; - this.pictureBox3.Location = new System.Drawing.Point(979, 437); + this.pictureBox3.Location = new System.Drawing.Point(734, 350); + this.pictureBox3.Margin = new System.Windows.Forms.Padding(2); this.pictureBox3.Name = "pictureBox3"; - this.pictureBox3.Size = new System.Drawing.Size(60, 60); + this.pictureBox3.Size = new System.Drawing.Size(45, 48); this.pictureBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pictureBox3.TabIndex = 22; this.pictureBox3.TabStop = false; @@ -361,9 +376,10 @@ // DevicePictureBox // this.DevicePictureBox.Image = global::RFIDSocket.Properties.Resources.RunNormal; - this.DevicePictureBox.Location = new System.Drawing.Point(979, 320); + this.DevicePictureBox.Location = new System.Drawing.Point(734, 256); + this.DevicePictureBox.Margin = new System.Windows.Forms.Padding(2); this.DevicePictureBox.Name = "DevicePictureBox"; - this.DevicePictureBox.Size = new System.Drawing.Size(60, 60); + this.DevicePictureBox.Size = new System.Drawing.Size(45, 48); this.DevicePictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.DevicePictureBox.TabIndex = 20; this.DevicePictureBox.TabStop = false; @@ -371,9 +387,10 @@ // ConnectPictureBox // this.ConnectPictureBox.Image = global::RFIDSocket.Properties.Resources.ConnectNormal; - this.ConnectPictureBox.Location = new System.Drawing.Point(979, 207); + this.ConnectPictureBox.Location = new System.Drawing.Point(734, 166); + this.ConnectPictureBox.Margin = new System.Windows.Forms.Padding(2); this.ConnectPictureBox.Name = "ConnectPictureBox"; - this.ConnectPictureBox.Size = new System.Drawing.Size(60, 60); + this.ConnectPictureBox.Size = new System.Drawing.Size(45, 48); this.ConnectPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.ConnectPictureBox.TabIndex = 18; this.ConnectPictureBox.TabStop = false; @@ -382,9 +399,10 @@ // this.label5.AutoSize = true; this.label5.Font = new System.Drawing.Font("宋体", 12F); - this.label5.Location = new System.Drawing.Point(1048, 320); + this.label5.Location = new System.Drawing.Point(786, 256); + this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(89, 20); + this.label5.Size = new System.Drawing.Size(71, 16); this.label5.TabIndex = 19; this.label5.Text = "设备状态"; // @@ -392,9 +410,10 @@ // this.ConnectState.AutoSize = true; this.ConnectState.Font = new System.Drawing.Font("宋体", 12F); - this.ConnectState.Location = new System.Drawing.Point(1049, 247); + this.ConnectState.Location = new System.Drawing.Point(787, 198); + this.ConnectState.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.ConnectState.Name = "ConnectState"; - this.ConnectState.Size = new System.Drawing.Size(39, 20); + this.ConnectState.Size = new System.Drawing.Size(31, 16); this.ConnectState.TabIndex = 27; this.ConnectState.Text = "NAN"; // @@ -402,9 +421,10 @@ // this.DeviceState.AutoSize = true; this.DeviceState.Font = new System.Drawing.Font("宋体", 12F); - this.DeviceState.Location = new System.Drawing.Point(1048, 360); + this.DeviceState.Location = new System.Drawing.Point(786, 288); + this.DeviceState.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.DeviceState.Name = "DeviceState"; - this.DeviceState.Size = new System.Drawing.Size(39, 20); + this.DeviceState.Size = new System.Drawing.Size(31, 16); this.DeviceState.TabIndex = 28; this.DeviceState.Text = "NAN"; // @@ -412,9 +432,10 @@ // this.TotalCount.AutoSize = true; this.TotalCount.Font = new System.Drawing.Font("宋体", 12F); - this.TotalCount.Location = new System.Drawing.Point(1049, 477); + this.TotalCount.Location = new System.Drawing.Point(787, 382); + this.TotalCount.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.TotalCount.Name = "TotalCount"; - this.TotalCount.Size = new System.Drawing.Size(39, 20); + this.TotalCount.Size = new System.Drawing.Size(31, 16); this.TotalCount.TabIndex = 29; this.TotalCount.Text = "NAN"; // @@ -422,9 +443,10 @@ // this.NormalCount.AutoSize = true; this.NormalCount.Font = new System.Drawing.Font("宋体", 12F); - this.NormalCount.Location = new System.Drawing.Point(1049, 592); + this.NormalCount.Location = new System.Drawing.Point(787, 474); + this.NormalCount.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.NormalCount.Name = "NormalCount"; - this.NormalCount.Size = new System.Drawing.Size(39, 20); + this.NormalCount.Size = new System.Drawing.Size(31, 16); this.NormalCount.TabIndex = 30; this.NormalCount.Text = "NAN"; // @@ -432,9 +454,10 @@ // this.WarningCount.AutoSize = true; this.WarningCount.Font = new System.Drawing.Font("宋体", 12F); - this.WarningCount.Location = new System.Drawing.Point(1049, 709); + this.WarningCount.Location = new System.Drawing.Point(787, 567); + this.WarningCount.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.WarningCount.Name = "WarningCount"; - this.WarningCount.Size = new System.Drawing.Size(39, 20); + this.WarningCount.Size = new System.Drawing.Size(31, 16); this.WarningCount.TabIndex = 31; this.WarningCount.Text = "NAN"; // @@ -442,9 +465,10 @@ // this.label9.AutoSize = true; this.label9.Font = new System.Drawing.Font("宋体", 12F); - this.label9.Location = new System.Drawing.Point(975, 772); + this.label9.Location = new System.Drawing.Point(731, 618); + this.label9.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label9.Name = "label9"; - this.label9.Size = new System.Drawing.Size(89, 20); + this.label9.Size = new System.Drawing.Size(71, 16); this.label9.TabIndex = 32; this.label9.Text = "未读取:"; // @@ -452,9 +476,10 @@ // this.label10.AutoSize = true; this.label10.Font = new System.Drawing.Font("宋体", 12F); - this.label10.Location = new System.Drawing.Point(975, 805); + this.label10.Location = new System.Drawing.Point(731, 644); + this.label10.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label10.Name = "label10"; - this.label10.Size = new System.Drawing.Size(109, 20); + this.label10.Size = new System.Drawing.Size(87, 16); this.label10.TabIndex = 33; this.label10.Text = "间距异常:"; // @@ -462,9 +487,10 @@ // this.label11.AutoSize = true; this.label11.Font = new System.Drawing.Font("宋体", 12F); - this.label11.Location = new System.Drawing.Point(975, 869); + this.label11.Location = new System.Drawing.Point(731, 695); + this.label11.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label11.Name = "label11"; - this.label11.Size = new System.Drawing.Size(89, 20); + this.label11.Size = new System.Drawing.Size(71, 16); this.label11.TabIndex = 34; this.label11.Text = "多标签:"; // @@ -472,9 +498,10 @@ // this.NoReadCount.AutoSize = true; this.NoReadCount.Font = new System.Drawing.Font("宋体", 12F); - this.NoReadCount.Location = new System.Drawing.Point(1090, 772); + this.NoReadCount.Location = new System.Drawing.Point(818, 618); + this.NoReadCount.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.NoReadCount.Name = "NoReadCount"; - this.NoReadCount.Size = new System.Drawing.Size(39, 20); + this.NoReadCount.Size = new System.Drawing.Size(31, 16); this.NoReadCount.TabIndex = 35; this.NoReadCount.Text = "NAN"; // @@ -482,9 +509,10 @@ // this.NearCount.AutoSize = true; this.NearCount.Font = new System.Drawing.Font("宋体", 12F); - this.NearCount.Location = new System.Drawing.Point(1090, 805); + this.NearCount.Location = new System.Drawing.Point(818, 644); + this.NearCount.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.NearCount.Name = "NearCount"; - this.NearCount.Size = new System.Drawing.Size(39, 20); + this.NearCount.Size = new System.Drawing.Size(31, 16); this.NearCount.TabIndex = 36; this.NearCount.Text = "NAN"; // @@ -492,9 +520,10 @@ // this.MultiCount.AutoSize = true; this.MultiCount.Font = new System.Drawing.Font("宋体", 12F); - this.MultiCount.Location = new System.Drawing.Point(1090, 869); + this.MultiCount.Location = new System.Drawing.Point(818, 695); + this.MultiCount.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.MultiCount.Name = "MultiCount"; - this.MultiCount.Size = new System.Drawing.Size(39, 20); + this.MultiCount.Size = new System.Drawing.Size(31, 16); this.MultiCount.TabIndex = 37; this.MultiCount.Text = "NAN"; // @@ -502,9 +531,10 @@ // this.ShortCount.AutoSize = true; this.ShortCount.Font = new System.Drawing.Font("宋体", 12F); - this.ShortCount.Location = new System.Drawing.Point(1090, 837); + this.ShortCount.Location = new System.Drawing.Point(818, 670); + this.ShortCount.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.ShortCount.Name = "ShortCount"; - this.ShortCount.Size = new System.Drawing.Size(39, 20); + this.ShortCount.Size = new System.Drawing.Size(31, 16); this.ShortCount.TabIndex = 39; this.ShortCount.Text = "NAN"; // @@ -512,26 +542,29 @@ // this.label13.AutoSize = true; this.label13.Font = new System.Drawing.Font("宋体", 12F); - this.label13.Location = new System.Drawing.Point(975, 837); + this.label13.Location = new System.Drawing.Point(731, 670); + this.label13.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label13.Name = "label13"; - this.label13.Size = new System.Drawing.Size(89, 20); + this.label13.Size = new System.Drawing.Size(71, 16); this.label13.TabIndex = 38; this.label13.Text = "包过短:"; // - // MonitorAddress + // ServerIP // - this.MonitorAddress.FormattingEnabled = true; - this.MonitorAddress.Location = new System.Drawing.Point(700, 28); - this.MonitorAddress.Name = "MonitorAddress"; - this.MonitorAddress.Size = new System.Drawing.Size(143, 23); - this.MonitorAddress.TabIndex = 40; + this.ServerIP.FormattingEnabled = true; + this.ServerIP.Location = new System.Drawing.Point(478, 22); + this.ServerIP.Margin = new System.Windows.Forms.Padding(2); + this.ServerIP.Name = "ServerIP"; + this.ServerIP.Size = new System.Drawing.Size(108, 20); + this.ServerIP.TabIndex = 40; // // label12 // this.label12.AutoSize = true; - this.label12.Location = new System.Drawing.Point(582, 32); + this.label12.Location = new System.Drawing.Point(389, 26); + this.label12.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label12.Name = "label12"; - this.label12.Size = new System.Drawing.Size(112, 15); + this.label12.Size = new System.Drawing.Size(89, 12); this.label12.TabIndex = 41; this.label12.Text = "选择监听地址:"; // @@ -539,20 +572,44 @@ // this.label14.AutoSize = true; this.label14.Font = new System.Drawing.Font("宋体", 12F); - this.label14.Location = new System.Drawing.Point(516, 88); + this.label14.Location = new System.Drawing.Point(387, 70); + this.label14.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label14.Name = "label14"; - this.label14.Size = new System.Drawing.Size(59, 20); + this.label14.Size = new System.Drawing.Size(47, 16); this.label14.TabIndex = 42; this.label14.Text = "共200"; // + // ServerPort + // + this.ServerPort.Location = new System.Drawing.Point(635, 22); + this.ServerPort.Margin = new System.Windows.Forms.Padding(2); + this.ServerPort.MaxLength = 6; + this.ServerPort.Name = "ServerPort"; + this.ServerPort.Size = new System.Drawing.Size(45, 21); + this.ServerPort.TabIndex = 43; + this.ServerPort.Text = "1234"; + // + // label15 + // + this.label15.AutoSize = true; + this.label15.BackColor = System.Drawing.Color.Transparent; + this.label15.Location = new System.Drawing.Point(590, 26); + this.label15.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(41, 12); + this.label15.TabIndex = 44; + this.label15.Text = "端口号"; + // // RFIDSocket // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1189, 1229); + this.ClientSize = new System.Drawing.Size(892, 983); + this.Controls.Add(this.label15); + this.Controls.Add(this.ServerPort); this.Controls.Add(this.label14); this.Controls.Add(this.label12); - this.Controls.Add(this.MonitorAddress); + this.Controls.Add(this.ServerIP); this.Controls.Add(this.ShortCount); this.Controls.Add(this.label13); this.Controls.Add(this.MultiCount); @@ -579,17 +636,17 @@ this.Controls.Add(this.LogStart); this.Controls.Add(this.PageRange); this.Controls.Add(this.label3); - this.Controls.Add(this.IPText); + this.Controls.Add(this.ClientIP); this.Controls.Add(this.PgDn); this.Controls.Add(this.SetAddress); this.Controls.Add(this.label1); this.Controls.Add(this.PgUp); - this.Controls.Add(this.PortText); + this.Controls.Add(this.ClientPort); this.Controls.Add(this.MonitorState); this.Controls.Add(this.label4); this.Controls.Add(this.MonitorOnOff); this.Controls.Add(this.CotentData); - this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.Margin = new System.Windows.Forms.Padding(2); this.Name = "RFIDSocket"; this.Text = " 通道门监听"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.RFIDSocket_FormClosing); @@ -610,12 +667,12 @@ private System.Windows.Forms.DataGridView CotentData; private System.Windows.Forms.Button SetAddress; private System.Windows.Forms.Label label1; - private System.Windows.Forms.TextBox PortText; + private System.Windows.Forms.TextBox ClientPort; private System.Windows.Forms.Button MonitorOnOff; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label MonitorState; private System.Windows.Forms.Timer TableTimer; - private System.Windows.Forms.TextBox IPText; + private System.Windows.Forms.TextBox ClientIP; private System.Windows.Forms.Button PgUp; private System.Windows.Forms.Button PgDn; private System.Windows.Forms.Label PageRange; @@ -644,7 +701,7 @@ private System.Windows.Forms.Label MultiCount; private System.Windows.Forms.Label ShortCount; private System.Windows.Forms.Label label13; - private System.Windows.Forms.ComboBox MonitorAddress; + private System.Windows.Forms.ComboBox ServerIP; private System.Windows.Forms.Label label12; private System.Windows.Forms.BindingSource rFIDContentBindingSource; private System.Windows.Forms.DataGridViewTextBoxColumn sNDataGridViewTextBoxColumn; @@ -654,6 +711,8 @@ private System.Windows.Forms.DataGridViewTextBoxColumn tipsDataGridViewTextBoxColumn; private System.Windows.Forms.DataGridViewTextBoxColumn logTimeDataGridViewTextBoxColumn; private System.Windows.Forms.Label label14; + private System.Windows.Forms.TextBox ServerPort; + private System.Windows.Forms.Label label15; } } diff --git a/RFIDSocket/RFIDSocket.cs b/RFIDSocket/RFIDSocket.cs index 9f5d2e0..6df5ffa 100644 --- a/RFIDSocket/RFIDSocket.cs +++ b/RFIDSocket/RFIDSocket.cs @@ -12,26 +12,22 @@ using System.Threading.Tasks; using System.Windows.Forms; using TouchSocket.Sockets; using static System.Windows.Forms.VisualStyles.VisualStyleElement; -using TcpClient = HighWayIot.TouchSocket.TcpClient; +using System.Configuration; namespace RFIDSocket { public partial class RFIDSocket : Form { - private static TcpClient Server = TcpClient.Instance; - private static DataAnalysis RFIDData = DataAnalysis.Instance; + private static ServerConnect ServerConnect = ServerConnect.Instance; - string Port = "1234"; - string IP = "127.0.0.1"; + string CPort = "1234"; + string CIP = "127.0.0.1"; int PageNo = 1; - List IPs = new List(); private List Content = new List(); - BindingSource bs = new BindingSource(); - public RFIDSocket() { InitializeComponent(); @@ -40,69 +36,76 @@ namespace RFIDSocket private void InitAction() { - if (!Server.State) + if (!ServerConnect.State) { MonitorState.Text = "关"; MonitorState.BackColor = Color.Yellow; } - else if (Server.State) + else if (ServerConnect.State) { MonitorState.Text = "开"; MonitorState.BackColor = Color.LightGreen; } - Port = PortText.Text; - IP = IPText.Text; - - IPs = RFIDData.GetAllIP(); + CPort = ClientPort.Text; + CIP = ClientIP.Text; - bs.DataSource = IPs; - MonitorAddress.DataSource = bs; + ServerIP.DataSource = ServerConnect.IPConfig.Keys.ToArray(); } private void MonitorOnOff_Click(object sender, EventArgs e) { - if (!Server.State) + if (!ServerConnect.State) { - if (Server.ClientStart(IP, Port)) + Dictionary results = ServerConnect.ConnectAllServer(ServerPort.Text, CIP, CPort); + bool flag = false; + foreach(var pair in results) { - MessageBox.Show("监听服务启动成功!"); - TableTimer.Enabled = true; + if (!pair.Value) + { + MessageBox.Show($"{pair.Key}连接启动失败!"); + flag = true; + } } - else + if (!flag) { - MessageBox.Show("监听服务启动失败!"); + MessageBox.Show("监听服务启动成功!"); } } - else if (Server.State) + else if (ServerConnect.State) { - if (Server.ClientStop()) + Dictionary results = ServerConnect.ConnectAllStop(); + bool flag = false; + foreach (var pair in results) { - MessageBox.Show("监听服务关闭成功!"); - TableTimer.Enabled = false; + if (!pair.Value) + { + MessageBox.Show($"{pair.Key}连接关闭失败!"); + flag = true; + } } - else + if (!flag) { - MessageBox.Show("监听服务关闭失败!"); + MessageBox.Show("监听服务关闭成功!"); } } } private void SetPort_Click(object sender, EventArgs e) { - Port = PortText.Text; - IP = IPText.Text; + CPort = ClientPort.Text; + CIP = ClientIP.Text; } private void TableTimer_Tick(object sender, EventArgs e) { - if (!Server.State) + if (!ServerConnect.State) { MonitorOnOff.Text = "启动监听"; MonitorState.Text = "关"; MonitorState.BackColor = Color.Yellow; } - else if (Server.State) + else if (ServerConnect.State) { MonitorOnOff.Text = "关闭监听"; MonitorState.Text = "开"; @@ -111,10 +114,6 @@ namespace RFIDSocket RFIDData.GetData(); - IPs = RFIDData.GetAllIP(); - bs.DataSource = IPs; - bs.ResetBindings(false); - CotentData.DataSource = null; switch (PageNo) { @@ -131,24 +130,46 @@ namespace RFIDSocket private void RFIDSocket_FormClosing(object sender, FormClosingEventArgs e) { - if (Server.State) + if (ServerConnect.State) { - if (!Server.ClientStop()) + Dictionary results = ServerConnect.ConnectAllStop(); + bool flag = false; + foreach (var pair in results) + { + if (!pair.Value) + { + flag = true; + } + } + if (flag) + { + if(MessageBox.Show("退出确认", "部分服务未能完全关闭!确认要退出?", MessageBoxButtons.OKCancel) == DialogResult.Cancel) + { + e.Cancel = true; + } + } + results = ServerConnect.ConnectAllDispose(); + flag = false; + foreach (var pair in results) { - MessageBox.Show("监听服务关闭失败! 请成功关闭后再退出"); - e.Cancel = true; + if (!pair.Value) + { + flag = true; + } } - if (!Server.ClientDispose()) + if (flag) { - MessageBox.Show("监听服务释放失败! 请再次尝试退出"); - e.Cancel = true; + if (MessageBox.Show("退出确认", "部分服务未能完全释放!确认要退出?", MessageBoxButtons.OKCancel) == DialogResult.Cancel) + { + e.Cancel = true; + } } } } private void StateRefresh() { - if (RFIDData.HeartbeatsState.Where(x => x.IP == MonitorAddress.Text.ToString()).Count() == 0) + if (RFIDData.HeartbeatsState.Where(x => x.IP == ServerConnect.IPConfig[ServerIP.Text].ToString()).Count() != 0) { ConnectPictureBox.Image = Properties.Resources.ConnectNormal; ConnectState.Text = "正常"; @@ -159,7 +180,7 @@ namespace RFIDSocket ConnectState.Text = "异常"; } - if (RFIDData.AlarmState.Where(x => x.IP == MonitorAddress.Text.ToString()).Count() == 0) + if (RFIDData.AlarmState.Where(x => x.IP == ServerConnect.IPConfig[ServerIP.Text].ToString()).Count() == 0) { DevicePictureBox.Image = Properties.Resources.ConnectNormal; DeviceState.Text = "正常"; @@ -181,7 +202,7 @@ namespace RFIDSocket private void ContentPages(int skip) { - Content = RFIDData.rFIDContents.Where(x => x.IP == MonitorAddress.Text.ToString()).Reverse().Take(200).ToList(); + Content = RFIDData.rFIDContents.Where(x => x.IP == ServerConnect.IPConfig[ServerIP.Text].ToString()).Reverse().Take(200).ToList(); CotentData.DataSource = Content.Skip(skip).Take(50).ToList(); } diff --git a/RFIDSocket/RFIDSocket.csproj b/RFIDSocket/RFIDSocket.csproj index db0ff92..8b8d9e8 100644 --- a/RFIDSocket/RFIDSocket.csproj +++ b/RFIDSocket/RFIDSocket.csproj @@ -37,6 +37,7 @@ ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + @@ -71,6 +72,7 @@ + ResXFileCodeGenerator Resources.Designer.cs @@ -98,6 +100,9 @@ Settings.settings True + + Always + diff --git a/RFIDSocket/RFIDSocket.resx b/RFIDSocket/RFIDSocket.resx index 7d63d68..652a0e5 100644 --- a/RFIDSocket/RFIDSocket.resx +++ b/RFIDSocket/RFIDSocket.resx @@ -120,9 +120,6 @@ 199, 21 - - 199, 21 - 21, 21 diff --git a/RFIDSocket/ServerConnect.cs b/RFIDSocket/ServerConnect.cs new file mode 100644 index 0000000..29cc001 --- /dev/null +++ b/RFIDSocket/ServerConnect.cs @@ -0,0 +1,123 @@ +using HighWayIot.Repository.service.Impl; +using HighWayIot.TouchSocket; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Configuration; +using System.Linq; +using System.Net.NetworkInformation; +using System.Net.Sockets; +using System.Text; +using System.Threading.Tasks; + +namespace RFIDSocket +{ + public class ServerConnect + { + private static readonly Lazy lazy = new Lazy(() => new ServerConnect()); + + public static ServerConnect Instance => lazy.Value; + + BaseContentServiceImpl baseContentServiceImpl => new BaseContentServiceImpl(); + + private static List TcpClients = new List(); + + /// + /// 获取配置键值对 + /// + public static Dictionary IPConfig + { + get + { + NameValueCollection config = ConfigurationManager.GetSection("IPConfigData") as NameValueCollection; + Dictionary result = new Dictionary(); + foreach (string key in config.AllKeys) + { + result.Add(key, config[key]); + } + return result; + } + + } + + public bool State = false; + + public static string[] IPs = IPConfig.Values.ToArray(); + public static string[] Names = IPConfig.Keys.ToArray(); + + public ServerConnect() + { + for(int i = 0; i < IPs.Length; i++) + { + TcpClients.Add(new RFIDTcpClient()); + } + } + + /// + /// 查找数据表里所有IP + /// + /// + public List GetAllIP() + { + var groups = baseContentServiceImpl.GetContentInfos().GroupBy(x => x.IP); + List result = new List(); + foreach (var group in groups) + { + result.Add(group.Key); + } + return result; + } + + /// + /// 连接所有服务端 + /// + /// + /// + /// + /// 成功与否结果 + public Dictionary ConnectAllServer(string serverPort, string clientIP, string clientPort) + { + int count = IPs.Length; + Dictionary results = new Dictionary(); + for (int i = 0; i < count; i++) + { + results.Add(Names[i], TcpClients[i].ClientStart(IPs[i], serverPort, clientIP, clientPort)); + } + State = true; + return results; + } + + /// + /// 暂停所有服务端 + /// + /// 成功与否结果 + public Dictionary ConnectAllStop() + { + int count = IPs.Length; + Dictionary results = new Dictionary(); + for (int i = 0; i < count; i++) + { + results.Add(Names[i], TcpClients[i].ClientStop()); + } + State = false; + return results; + } + + /// + /// 释放所有服务端 + /// + /// 成功与否结果 + public Dictionary ConnectAllDispose() + { + int count = IPs.Length; + Dictionary results = new Dictionary(); + for (int i = 0; i < count; i++) + { + results.Add(Names[i], TcpClients[i].ClientDispose()); + } + return results; + } + + } + +}