Skip to content

Commit 7d42f2f

Browse files
committed
继续优化模版代码,优化网络组件
1 parent 9b3114f commit 7d42f2f

5 files changed

Lines changed: 102 additions & 32 deletions

File tree

CommonLibrary/Common.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,21 @@
22
using System.Collections.Generic;
33
using System.Linq;
44
using System.Text;
5+
using HslCommunication.BasicFramework;
56

67
namespace CommonLibrary
78
{
89
public class CommonLibrary
910
{
11+
static CommonLibrary()
12+
{
13+
//初始化模版的版本号
14+
//预计第一个正式发行的版本为1.1.0 日期为2017-05-10
15+
SoftBasic.FrameworkVersion = new SystemVersion("1.0.3");
16+
17+
}
18+
19+
1020
#region 公用端口设计块
1121

1222
//======================================================================================

CommonLibrary/HeadCode.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class CommonHeadCode
1717

1818

1919
/// <summary>
20-
/// 同步通信的头说明,以字母A开头
20+
/// 同步通信的头说明,以字母A开头,后面接B,C,D,E,F
2121
/// </summary>
2222
[System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Auto)]
2323
public class SimplifyHeadCode
@@ -32,7 +32,7 @@ public class SimplifyHeadCode
3232
public static string 更新公告 { get; } = "A008";
3333
public static string 注册账号 { get; } = "A009";
3434
public static string 更新版本号 { get; } = "A010";
35-
public static string 请求文件列表 { get; } = "AA01";
35+
public static string 请求文件列表 { get; } = "A011";
3636

3737

3838

Public/HslCommunication.dll

-2 KB
Binary file not shown.

Public/HslCommunication.xml

Lines changed: 14 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

软件系统服务端模版/Form1.cs

Lines changed: 76 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,9 @@ private void Form1_FormClosing(object sender, FormClosingEventArgs e)
8989
{
9090
IsWindowShow = false;
9191
Thread.Sleep(20);
92+
//关闭网络引擎
93+
net_socket_server.ServerClose();
94+
net_simple_file_server.ServerClose();
9295
}
9396
else
9497
{
@@ -298,25 +301,53 @@ private void Net_simplify_server_ReceivedBytesEvent(HuStateOne object1, byte[] o
298301
/// <param name="object2">消息数据,应该使用指令头+数据组成</param>
299302
private void Net_simplify_server_ReceiveStringEvent(HuStateOne object1, string object2)
300303
{
301-
//如果此处充斥大量if语句,影响观感,则考虑进行指令头分类操作
302304
//必须返回结果,调用SendMessage(object1,[实际数据]);
303-
string head_code = object2.Substring(0, 4);
304-
if (head_code == CommonHeadCode.SimplifyHeadCode.维护检查)
305+
if(object2.StartsWith("A"))
306+
{
307+
DataProcessingWithStartA(object1, object2);
308+
}
309+
else if(object2.StartsWith("B"))
310+
{
311+
DataProcessingWithStartB(object1, object2);
312+
}
313+
else
314+
{
315+
net_simplify_server.SendMessage(object1, object2);
316+
}
317+
}
318+
319+
320+
/****************************************************************************************************
321+
*
322+
*
323+
* 数据处理中心,同步信息中的所有的细节处理均要到此处来处理
324+
*
325+
*
326+
****************************************************************************************************/
327+
/// <summary>
328+
/// A指令块,处理系统基础运行的消息
329+
/// </summary>
330+
/// <param name="object1"></param>
331+
/// <param name="object2"></param>
332+
private void DataProcessingWithStartA(HuStateOne object1, string object2)
333+
{
334+
string headCode = object2.Substring(0, 4);
335+
if (headCode == CommonHeadCode.SimplifyHeadCode.维护检查)
305336
{
306337
net_simplify_server.SendMessage(object1, UserServer.ServerSettings.Can_Account_Login ? "1" : "0" +
307338
UserServer.ServerSettings.Account_Forbidden_Reason);
308339
}
309-
else if (head_code == CommonHeadCode.SimplifyHeadCode.更新检查)
340+
else if (headCode == CommonHeadCode.SimplifyHeadCode.更新检查)
310341
{
311342
net_simplify_server.SendMessage(object1, UserServer.ServerSettings.SystemVersion.ToString());
312343
}
313-
else if (head_code == CommonHeadCode.SimplifyHeadCode.参数下载)
344+
else if (headCode == CommonHeadCode.SimplifyHeadCode.参数下载)
314345
{
315346
Newtonsoft.Json.Linq.JObject json = new Newtonsoft.Json.Linq.JObject();
316347
json.Add(nameof(UserServer.ServerSettings.Announcement), new Newtonsoft.Json.Linq.JValue(UserServer.ServerSettings.Announcement));
317348
net_simplify_server.SendMessage(object1, json.ToString());
318349
}
319-
else if (head_code == CommonHeadCode.SimplifyHeadCode.账户检查)
350+
else if (headCode == CommonHeadCode.SimplifyHeadCode.账户检查)
320351
{
321352
//此处使用的是组件自带的验证的方式,如果使用SQL数据库,另行验证
322353
JObject json = JObject.Parse(object2.Substring(4));
@@ -326,25 +357,25 @@ private void Net_simplify_server_ReceiveStringEvent(HuStateOne object1, string o
326357
net_simplify_server.SendMessage(object1, UserServer.ServerAccounts.CheckAccountJson(
327358
name, password, ((System.Net.IPEndPoint)(object1.WorkSocket.RemoteEndPoint)).Address.ToString()));
328359
}
329-
else if (head_code == CommonHeadCode.SimplifyHeadCode.更新公告)
360+
else if (headCode == CommonHeadCode.SimplifyHeadCode.更新公告)
330361
{
331362
UserServer.ServerSettings.Announcement = object2.Substring(4);
332363
//通知所有客户端更新公告
333364
net_socket_server.SendAllClients(object2);
334365
net_simplify_server.SendMessage(object1, "成功");
335366
}
336-
else if (head_code == CommonHeadCode.SimplifyHeadCode.获取账户信息)
367+
else if (headCode == CommonHeadCode.SimplifyHeadCode.获取账户信息)
337368
{
338369
//返回服务器的账户信息
339370
net_simplify_server.SendMessage(object1, UserServer.ServerAccounts.GetAllAccountsJson());
340371
}
341-
else if (head_code == CommonHeadCode.SimplifyHeadCode.更细账户信息)
372+
else if (headCode == CommonHeadCode.SimplifyHeadCode.更细账户信息)
342373
{
343374
//更新服务器的账户信息
344375
UserServer.ServerAccounts.LoadAllAccountsJson(object2.Substring(4));
345376
net_simplify_server.SendMessage(object1, "成功");
346377
}
347-
else if (head_code == CommonHeadCode.SimplifyHeadCode.密码修改)
378+
else if (headCode == CommonHeadCode.SimplifyHeadCode.密码修改)
348379
{
349380
//更新服务器的账户密码
350381
//此处使用的是组件自带的验证的方式,如果使用SQL数据库,另行验证
@@ -355,7 +386,7 @@ private void Net_simplify_server_ReceiveStringEvent(HuStateOne object1, string o
355386
UserServer.ServerAccounts.UpdatePassword(name, password);
356387
net_simplify_server.SendMessage(object1, "成功");
357388
}
358-
else if (head_code == CommonHeadCode.SimplifyHeadCode.更新版本号)
389+
else if (headCode == CommonHeadCode.SimplifyHeadCode.更新版本号)
359390
{
360391
try
361392
{
@@ -369,47 +400,65 @@ private void Net_simplify_server_ReceiveStringEvent(HuStateOne object1, string o
369400
net_simplify_server.SendMessage(object1, "0");
370401
}
371402
}
372-
else if (head_code == CommonHeadCode.SimplifyHeadCode.网络日志查看)
403+
else if (headCode == CommonHeadCode.SimplifyHeadCode.注册账号)
404+
{
405+
bool result = UserServer.ServerAccounts.AddNewAccount(object2.Substring(4));
406+
net_simplify_server.SendMessage(object1, result ? "1" : "0");
407+
}
408+
else if (headCode == CommonHeadCode.SimplifyHeadCode.请求文件列表)
409+
{
410+
net_simplify_server.SendMessage(object1, net_simple_file_server.ToJsonString());
411+
}
412+
else
413+
{
414+
net_simplify_server.SendMessage(object1, object2);
415+
}
416+
}
417+
418+
/// <summary>
419+
/// B指令块,处理日志相关的消息
420+
/// </summary>
421+
/// <param name="object1"></param>
422+
/// <param name="object2"></param>
423+
private void DataProcessingWithStartB(HuStateOne object1, string object2)
424+
{
425+
string headCode = object2.Substring(0, 4);
426+
if (headCode == CommonHeadCode.SimplifyHeadCode.网络日志查看)
373427
{
374428
net_simplify_server.SendMessage(object1, net_socket_server.LogHelper.GetLogText());
375429
}
376-
else if (head_code == CommonHeadCode.SimplifyHeadCode.网络日志清空)
430+
else if (headCode == CommonHeadCode.SimplifyHeadCode.网络日志清空)
377431
{
378432
net_socket_server.LogHelper.ClearLogText();
379433
net_simplify_server.SendMessage(object1, "成功");
380434
}
381-
else if (head_code == CommonHeadCode.SimplifyHeadCode.同步日志查看)
435+
else if (headCode == CommonHeadCode.SimplifyHeadCode.同步日志查看)
382436
{
383437
net_simplify_server.SendMessage(object1, net_simplify_server.LogHelper.GetLogText());
384438
}
385-
else if (head_code == CommonHeadCode.SimplifyHeadCode.同步日志清空)
439+
else if (headCode == CommonHeadCode.SimplifyHeadCode.同步日志清空)
386440
{
387441
net_simplify_server.LogHelper.ClearLogText();
388442
net_simplify_server.SendMessage(object1, "成功");
389443
}
390-
else if (head_code == CommonHeadCode.SimplifyHeadCode.更新日志查看)
444+
else if (headCode == CommonHeadCode.SimplifyHeadCode.更新日志查看)
391445
{
392446
net_simplify_server.SendMessage(object1, net_soft_update_Server.LogHelper.GetLogText());
393447
}
394-
else if (head_code == CommonHeadCode.SimplifyHeadCode.更新日志清空)
448+
else if (headCode == CommonHeadCode.SimplifyHeadCode.更新日志清空)
395449
{
396450
net_soft_update_Server.LogHelper.ClearLogText();
397451
net_simplify_server.SendMessage(object1, "成功");
398452
}
399-
else if (head_code == CommonHeadCode.SimplifyHeadCode.注册账号)
400-
{
401-
bool result = UserServer.ServerAccounts.AddNewAccount(object2.Substring(4));
402-
net_simplify_server.SendMessage(object1, result ? "1" : "0");
403-
}
404-
else if(head_code == CommonHeadCode.SimplifyHeadCode.请求文件列表)
405-
{
406-
net_simplify_server.SendMessage(object1, net_simple_file_server.ToJsonString());
407-
}
408453
else
409454
{
410455
net_simplify_server.SendMessage(object1, object2);
411456
}
412457
}
458+
459+
460+
461+
413462
#endregion
414463

415464
#region 异步数据传送引擎
@@ -582,7 +631,7 @@ private void Net_simple_file_server_FileChange()
582631

583632

584633
/// <summary>
585-
/// 还未有其他什么用途
634+
/// 用来记录一般的事物日志
586635
/// </summary>
587636
private SoftLogHelper LogHelper { get; set; }
588637
}

0 commit comments

Comments
 (0)