文件名称调整,网络通信信号头优化,个人信息界面文件支持双击下载,v1.4.2

This commit is contained in:
dathlin
2017-09-20 12:20:37 +08:00
parent cad8cd3de4
commit 51ed4031c5
9 changed files with 277 additions and 234 deletions

View File

@@ -331,7 +331,7 @@
this.groupBox2.Size = new System.Drawing.Size(373, 492); this.groupBox2.Size = new System.Drawing.Size(373, 492);
this.groupBox2.TabIndex = 1; this.groupBox2.TabIndex = 1;
this.groupBox2.TabStop = false; this.groupBox2.TabStop = false;
this.groupBox2.Text = "个人文件,支持拖拽"; this.groupBox2.Text = "个人文件,支持拖拽上传,双击下载";
// //
// userButton2 // userButton2
// //
@@ -394,6 +394,7 @@
this.treeView1.TabIndex = 0; this.treeView1.TabIndex = 0;
this.treeView1.DragDrop += new System.Windows.Forms.DragEventHandler(this.treeView1_DragDrop); this.treeView1.DragDrop += new System.Windows.Forms.DragEventHandler(this.treeView1_DragDrop);
this.treeView1.DragEnter += new System.Windows.Forms.DragEventHandler(this.treeView1_DragEnter); this.treeView1.DragEnter += new System.Windows.Forms.DragEventHandler(this.treeView1_DragEnter);
this.treeView1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.treeView1_MouseDoubleClick);
// //
// FormAccountDetails // FormAccountDetails
// //

View File

@@ -172,6 +172,15 @@ namespace ClientsLibrary
DownloadUserFileNames(); DownloadUserFileNames();
} }
private void treeView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
// 双击下载
if (e.Button == MouseButtons.Left)
{
userButton1_Click(null, new EventArgs());
}
}
private void userButton1_Click(object sender, EventArgs e) private void userButton1_Click(object sender, EventArgs e)
{ {
// 下载选择文件 // 下载选择文件
@@ -288,5 +297,7 @@ namespace ClientsLibrary
e.Effect = DragDropEffects.None; e.Effect = DragDropEffects.None;
} }
} }
} }
} }

View File

@@ -70,10 +70,12 @@ namespace ClientsLibrary
bitmap300.Save(path300); bitmap300.Save(path300);
Bitmap bitmap32 = fps.GetSpecifiedSizeImage(32); Bitmap bitmap32 = fps.GetSpecifiedSizeImage(32);
bitmap32.Save(path32); bitmap32.Save(path32);
//传送服务器
bitmap300.Dispose(); bitmap300.Dispose();
bitmap32.Dispose(); bitmap32.Dispose();
// 传送服务器
using (FormFileOperate ffo = new FormFileOperate( using (FormFileOperate ffo = new FormFileOperate(
UserClient.Net_File_Client, UserClient.Net_File_Client,
new string[] new string[]

View File

@@ -6,7 +6,6 @@ using HslCommunication.Enthernet;
using HslCommunication.BasicFramework; using HslCommunication.BasicFramework;
using CommonLibrary; using CommonLibrary;
using System.Net; using System.Net;
using CommonLibrary;
namespace ClientsLibrary namespace ClientsLibrary
{ {

View File

@@ -86,8 +86,8 @@
<DependentUpon>FormVersionControl.cs</DependentUpon> <DependentUpon>FormVersionControl.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="BasicSupport\SoftSettings.cs" /> <Compile Include="BasicSupport\SoftSettings.cs" />
<Compile Include="ProtocolSupport\Common.cs" /> <Compile Include="ProtocolSupport\CommonProtocol.cs" />
<Compile Include="ProtocolSupport\HeadCode.cs" /> <Compile Include="ProtocolSupport\CustomerCode.cs" />
<Compile Include="OrderSupport\ClassGoods.cs" /> <Compile Include="OrderSupport\ClassGoods.cs" />
<Compile Include="OrderSupport\ClassOrder.cs" /> <Compile Include="OrderSupport\ClassOrder.cs" />
<Compile Include="PortraitSupport\PortraitSupport.cs" /> <Compile Include="PortraitSupport\PortraitSupport.cs" />

View File

@@ -55,7 +55,7 @@ namespace CommonLibrary
* *
**************************************************************************/ **************************************************************************/
SoftBasic.FrameworkVersion = new SystemVersion("1.4.1"); SoftBasic.FrameworkVersion = new SystemVersion("1.4.2");
} }

View File

@@ -0,0 +1,140 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HslCommunication;
namespace CommonLibrary
{
/*********************************************************************************************
*
* 说明:用于同步网络和异步网络的各种消息头的区别。
*
* 关于 NetHandle
* 一个数据结构值无论实际数据还是用法上等同于int可以和int数据无缝的转化
* 将4个字节的int数据拆分成了三个属性一个ushort和两个byte可以分别访问
*
* 2个低字节 第二高字节 最高的字节
* [byte1][byte2] [byte3] [byte4]
* CodeIdentifier CodeMinor CodeMajor
*
*********************************************************************************************/
/// <summary>
/// 用于网络通信的二级协议头说明
/// </summary>
public class CommonHeadCode
{
/// <summary>
/// 同步通信的指令头说明从1.1.x到1.255.x
/// </summary>
[System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Auto)]
public class SimplifyHeadCode
{
/*******************************************************************************************
*
* 1.1.* 的指令为系统相关
*
*******************************************************************************************/
public static NetHandle { get; } = new NetHandle(1, 1, 00001);
public static NetHandle { get; } = new NetHandle(1, 1, 00002);
public static NetHandle { get; } = new NetHandle(1, 1, 00003);
public static NetHandle { get; } = new NetHandle(1, 1, 00004);
public static NetHandle { get; } = new NetHandle(1, 1, 00005);
public static NetHandle { get; } = new NetHandle(1, 1, 00006);
public static NetHandle { get; } = new NetHandle(1, 1, 00007);
public static NetHandle { get; } = new NetHandle(1, 1, 00008);
public static NetHandle { get; } = new NetHandle(1, 1, 00009);
public static NetHandle { get; } = new NetHandle(1, 1, 00010);
public static NetHandle { get; } = new NetHandle(1, 1, 00011);
public static NetHandle { get; } = new NetHandle(1, 1, 00012);
public static NetHandle { get; } = new NetHandle(1, 1, 00013);
public static NetHandle { get; } = new NetHandle(1, 1, 00014);
public static NetHandle { get; } = new NetHandle(1, 1, 00015);
public static NetHandle MD5 { get; } = new NetHandle(1, 1, 00016);
public static NetHandle { get; } = new NetHandle(1, 1, 00017);
public static NetHandle { get; } = new NetHandle(1, 1, 00018);
/*******************************************************************************************
*
* 1.2.* 的指令为日志的请求与查看相关
*
*******************************************************************************************/
public static NetHandle { get; } = new NetHandle(1, 2, 00001);//1.2.开头的是日志请求和清空
public static NetHandle { get; } = new NetHandle(1, 2, 00002);
public static NetHandle { get; } = new NetHandle(1, 2, 00003);
public static NetHandle { get; } = new NetHandle(1, 2, 00004);
public static NetHandle { get; } = new NetHandle(1, 2, 00005);
public static NetHandle { get; } = new NetHandle(1, 2, 00006);
public static NetHandle { get; } = new NetHandle(1, 2, 00007);
public static NetHandle { get; } = new NetHandle(1, 2, 00008);
public static NetHandle { get; } = new NetHandle(1, 2, 00009);
public static NetHandle { get; } = new NetHandle(1, 2, 00010);
public static NetHandle { get; } = new NetHandle(1, 2, 00011);
public static NetHandle { get; } = new NetHandle(1, 2, 00012);
public static NetHandle UDP日志查看 { get; } = new NetHandle(1, 2, 00013);
public static NetHandle UDP日志清空 { get; } = new NetHandle(1, 2, 00014);
public static NetHandle { get; } = new NetHandle(1, 2, 00015);
public static NetHandle { get; } = new NetHandle(1, 2, 00016);
public static NetHandle { get; } = new NetHandle(1, 2, 00017);
public static NetHandle { get; } = new NetHandle(1, 2, 00018);
/**************************************************************************************
*
* 为了保证您的指令头不和系统的冲突您的指令头应该以1.3.x及之后开头
*
**************************************************************************************/
}
/// <summary>
/// 异步通信的头说明从2.1.x到2.255.x
/// </summary>
public class MultiNetHeadCode
{
/*******************************************************************************************
*
* 2.1.* 的指令为异步网络的系统相关指令
*
*******************************************************************************************/
public static NetHandle 线 { get; } = new NetHandle(2, 1, 00001);
public static NetHandle { get; } = new NetHandle(2, 1, 00002);
public static NetHandle { get; } = new NetHandle(2, 1, 00003);
public static NetHandle { get; } = new NetHandle(2, 1, 00004);
public static NetHandle { get; } = new NetHandle(2, 1, 00005);
public static NetHandle { get; } = new NetHandle(2, 1, 00006);
public static NetHandle { get; } = new NetHandle(2, 1, 00007);
/**************************************************************************************
*
* 为了保证您的指令头不和系统的冲突您的指令头应该以2.2.x 2.3.x开头
*
**************************************************************************************/
}
//可以在下面进行扩展,需要保证长度都是统一的,新建您自己的类型 可以用3.1.x 4.1.x开头的指令
}
}

View File

@@ -1,131 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CommonLibrary
{
/*********************************************************************************************
*
* 说明用于同步网络和异步网络的各种消息头的区别初始想法使用长度为4的字符串区分
* 目前改为int数据区分以后需要代码重构
*
*********************************************************************************************/
/// <summary>
/// 用于网络通信的二级协议头说明
/// </summary>
public class CommonHeadCode
{
/// <summary>
/// 同步通信的指令头说明以10000开头后面接2000030000
/// </summary>
[System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Auto)]
public class SimplifyHeadCode
{
/// <summary>
/// 判断指令否是系统指令
/// </summary>
/// <param name="customer">指令</param>
/// <returns>是否符合</returns>
public static bool IsCustomerGroupSystem(int customer)
{
return (customer >= 10000 && customer < 11000);
}
public static int { get; } = 10000;//10000开始的表明是系统相关的
public static int { get; } = 10001;
public static int { get; } = 10002;
public static int { get; } = 10003;
public static int { get; } = 10004;
public static int { get; } = 10005;
public static int { get; } = 10006;
public static int { get; } = 10007;
public static int { get; } = 10008;
public static int { get; } = 10009;
public static int { get; } = 10010;
public static int { get; } = 10011;
public static int { get; } = 10012;
public static int { get; } = 10013;
public static int { get; } = 10014;
public static int MD5 { get; } = 10015;
public static int { get; } = 10016;
public static int { get; } = 10017;
/// <summary>
/// 判断指令否是日志相关指令
/// </summary>
/// <param name="customer">指令</param>
/// <returns>是否符合</returns>
public static bool IsCustomerGroupLogging(int customer)
{
return (customer >= 11000 && customer < 12000);
}
public static int { get; } = 11000;//11000开头的是日志请求和清空
public static int { get; } = 11001;
public static int { get; } = 11002;
public static int { get; } = 11003;
public static int { get; } = 11004;
public static int { get; } = 11005;
public static int { get; } = 11006;
public static int { get; } = 11007;
public static int { get; } = 11008;
public static int { get; } = 11009;
public static int { get; } = 11010;
public static int { get; } = 11011;
public static int UDP日志查看 { get; } = 11012;
public static int UDP日志清空 { get; } = 11013;
public static int { get; } = 11014;
public static int { get; } = 11015;
public static int { get; } = 11016;
public static int { get; } = 11017;
/**************************************************************************************
*
* 为了保证您的指令头不和系统的冲突您的指令头应该以20000之后开头
*
**************************************************************************************/
}
/// <summary>
/// 异步通信的头说明以字母H开头后面跟I,G,K,L,M
/// </summary>
public class MultiNetHeadCode
{
/// <summary>
///
/// </summary>
/// <param name="customer">指令</param>
/// <returns>是否符合</returns>
public static bool IsCustomerGroupSystem(int customer)
{
return (customer >= 50000 && customer < 51000);
}
public static int 线 { get; } = 50000;
public static int { get; } = 50001;
public static int { get; } = 50002;
public static int { get; } = 50003;
public static int { get; } = 50004;
public static int { get; } = 50005;
public static int { get; } = 50006;
/**************************************************************************************
*
* 为了保证您的指令头不和系统的冲突您的指令头应该以I,J,K,L开头
*
**************************************************************************************/
}
//可以在下面进行扩展,需要保证长度都是统一的,新建您自己的类型
}
}

View File

@@ -409,12 +409,12 @@ namespace 软件系统服务端模版
{ {
try try
{ {
net_simplify_server.KeyToken = CommonLibrary.CommonProtocol.KeyToken;//设置身份令牌 net_simplify_server.KeyToken = CommonProtocol.KeyToken;//设置身份令牌
net_simplify_server.LogNet = new LogNetSingle(LogSavePath + @"\simplify_log.txt");//日志路径 net_simplify_server.LogNet = new LogNetSingle(LogSavePath + @"\simplify_log.txt");//日志路径
net_simplify_server.LogNet.SetMessageDegree(HslMessageDegree.DEBUG);//默认debug及以上级别日志均进行存储根据需要自行选择 net_simplify_server.LogNet.SetMessageDegree(HslMessageDegree.DEBUG);//默认debug及以上级别日志均进行存储根据需要自行选择
net_simplify_server.ReceiveStringEvent += Net_simplify_server_ReceiveStringEvent;//接收到字符串触发 net_simplify_server.ReceiveStringEvent += Net_simplify_server_ReceiveStringEvent;//接收到字符串触发
net_simplify_server.ReceivedBytesEvent += Net_simplify_server_ReceivedBytesEvent;//接收到字节触发 net_simplify_server.ReceivedBytesEvent += Net_simplify_server_ReceivedBytesEvent;//接收到字节触发
net_simplify_server.ServerStart(CommonLibrary.CommonProtocol.Port_Second_Net); net_simplify_server.ServerStart(CommonProtocol.Port_Second_Net);
net_simplify_server.ConnectTimeout = 5200; net_simplify_server.ConnectTimeout = 5200;
} }
catch (Exception ex) catch (Exception ex)
@@ -455,61 +455,70 @@ namespace 软件系统服务端模版
/// 接收到来自客户端的数据,此处需要放置维护验证,更新验证等等操作 /// 接收到来自客户端的数据,此处需要放置维护验证,更新验证等等操作
/// </summary> /// </summary>
/// <param name="state">客户端的地址</param> /// <param name="state">客户端的地址</param>
/// <param name="customer">用于自定义的指令头可不用转而使用data来区分</param> /// <param name="handle">用于自定义的指令头可不用转而使用data来区分</param>
/// <param name="data">接收到的服务器的数据</param> /// <param name="data">接收到的服务器的数据</param>
private void Net_simplify_server_ReceiveStringEvent(AsyncStateOne state, NetHandle customer, string data) private void Net_simplify_server_ReceiveStringEvent(AsyncStateOne state, NetHandle handle, string data)
{ {
//必须返回结果调用SendMessage(object1,[实际数据]);
if (CommonHeadCode.SimplifyHeadCode.IsCustomerGroupSystem(customer)) /*******************************************************************************************
*
* 说明:同步消息处理总站,应该根据不同的消息设置分流到不同的处理方法
*
* 注意:处理完成后必须调用 net_simplify_server.SendMessage(state, customer, "处理结果字符串,可以为空");
*
*******************************************************************************************/
if (handle.CodeMajor == 1 && handle.CodeMinor == 1)
{ {
DataProcessingWithStartA(state, customer, data); DataProcessingWithStartA(state, handle, data);
} }
else if (CommonHeadCode.SimplifyHeadCode.IsCustomerGroupLogging(customer)) else if (handle.CodeMajor == 1 && handle.CodeMinor == 2)
{ {
DataProcessingWithStartB(state, customer, data); DataProcessingWithStartB(state, handle, data);
} }
else else
{ {
net_simplify_server.SendMessage(state, customer, data); net_simplify_server.SendMessage(state, handle, data);
} }
} }
/**************************************************************************************************** /****************************************************************************************************
*
* *
* 数据处理中心,同步信息中的所有的细节处理均要到此处来处理 * 数据处理中心,同步信息中的所有的细节处理均要到此处来处理
* *
*
****************************************************************************************************/ ****************************************************************************************************/
#region 1.1.X
/// <summary> /// <summary>
/// A指令块,处理系统基础运行的消息 /// 1.1.x指令块,处理系统基础运行的消息
/// </summary> /// </summary>
/// <param name="state">网络状态对象</param> /// <param name="state">网络状态对象</param>
/// <param name="customer">用户自定义的指令头</param> /// <param name="handle">用户自定义的指令头</param>
/// <param name="data">实际的数据</param> /// <param name="data">实际的数据</param>
private void DataProcessingWithStartA(AsyncStateOne state, int customer, string data) private void DataProcessingWithStartA(AsyncStateOne state, NetHandle handle, string data)
{ {
if (customer == CommonHeadCode.SimplifyHeadCode.) if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
net_simplify_server.SendMessage(state, customer, net_simplify_server.SendMessage(state, handle,
UserServer.ServerSettings.Can_Account_Login ? "1" : "0" + UserServer.ServerSettings.Can_Account_Login ? "1" : "0" +
UserServer.ServerSettings.Account_Forbidden_Reason); UserServer.ServerSettings.Account_Forbidden_Reason);
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
net_simplify_server.SendMessage(state, customer, UserServer.ServerSettings.SystemVersion.ToString()); net_simplify_server.SendMessage(state, handle, UserServer.ServerSettings.SystemVersion.ToString());
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
JObject json = new JObject JObject json = new JObject
{ {
{ nameof(UserServer.ServerSettings.Announcement), new JValue(UserServer.ServerSettings.Announcement) }, { nameof(UserServer.ServerSettings.Announcement), new JValue(UserServer.ServerSettings.Announcement) },
{ nameof(UserServer.ServerSettings.SystemFactories), new JArray(UserServer.ServerSettings.SystemFactories) }, { nameof(UserServer.ServerSettings.SystemFactories), new JArray(UserServer.ServerSettings.SystemFactories) },
}; };
net_simplify_server.SendMessage(state, customer, json.ToString()); net_simplify_server.SendMessage(state, handle, json.ToString());
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
//此处使用的是组件自带的验证的方式如果使用SQL数据库另行验证 //此处使用的是组件自带的验证的方式如果使用SQL数据库另行验证
JObject json = JObject.Parse(data); JObject json = JObject.Parse(data);
@@ -528,27 +537,27 @@ namespace 软件系统服务端模版
account.ForbidMessage = "该账户已经登录"; account.ForbidMessage = "该账户已经登录";
} }
} }
net_simplify_server.SendMessage(state, customer, JObject.FromObject(account).ToString()); net_simplify_server.SendMessage(state, handle, JObject.FromObject(account).ToString());
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
UserServer.ServerSettings.Announcement = data; UserServer.ServerSettings.Announcement = data;
//通知所有客户端更新公告 //通知所有客户端更新公告
net_socket_server.SendAllClients(customer, data); net_socket_server.SendAllClients(handle, data);
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
//返回服务器的账户信息 //返回服务器的账户信息
net_simplify_server.SendMessage(state, customer, UserServer.ServerAccounts.GetAllAccountsJson()); net_simplify_server.SendMessage(state, handle, UserServer.ServerAccounts.GetAllAccountsJson());
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
//更新服务器的账户信息 //更新服务器的账户信息
UserServer.ServerAccounts.LoadAllAccountsJson(data); UserServer.ServerAccounts.LoadAllAccountsJson(data);
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
//更新服务器的账户密码此处使用的是组件自带的验证的方式如果使用SQL数据库另行验证 //更新服务器的账户密码此处使用的是组件自带的验证的方式如果使用SQL数据库另行验证
JObject json = JObject.Parse(data); JObject json = JObject.Parse(data);
@@ -556,9 +565,9 @@ namespace 软件系统服务端模版
string name = SoftBasic.GetValueFromJsonObject(json, UserAccount.UserNameText, ""); string name = SoftBasic.GetValueFromJsonObject(json, UserAccount.UserNameText, "");
string password = SoftBasic.GetValueFromJsonObject(json, UserAccount.PasswordText, ""); string password = SoftBasic.GetValueFromJsonObject(json, UserAccount.PasswordText, "");
UserServer.ServerAccounts.UpdatePassword(name, password); UserServer.ServerAccounts.UpdatePassword(name, password);
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
try try
{ {
@@ -567,40 +576,40 @@ namespace 软件系统服务端模版
toolStripStatusLabel_version.Text = UserServer.ServerSettings.SystemVersion.ToString(); toolStripStatusLabel_version.Text = UserServer.ServerSettings.SystemVersion.ToString();
//记录数据 //记录数据
RuntimeLogHelper.WriteInfo($"更改了版本号:{data}"); RuntimeLogHelper.WriteInfo($"更改了版本号:{data}");
net_simplify_server.SendMessage(state, customer, "1"); net_simplify_server.SendMessage(state, handle, "1");
} }
catch catch
{ {
net_simplify_server.SendMessage(state, customer, "0"); net_simplify_server.SendMessage(state, handle, "0");
} }
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
bool result = UserServer.ServerAccounts.AddNewAccount(data); bool result = UserServer.ServerAccounts.AddNewAccount(data);
net_simplify_server.SendMessage(state, customer, result ? "1" : "0"); net_simplify_server.SendMessage(state, handle, result ? "1" : "0");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
net_simplify_server.SendMessage(state, customer, net_simple_file_server.ToJsonString()); net_simplify_server.SendMessage(state, handle, net_simple_file_server.ToJsonString());
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
AdviceLogHelper.WriteInfo(data); AdviceLogHelper.WriteInfo(data);
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
net_socket_server.SendAllClients(CommonHeadCode.MultiNetHeadCode., data); net_socket_server.SendAllClients(CommonHeadCode.MultiNetHeadCode., data);
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
ClientsLogHelper.WriteFatal(data); ClientsLogHelper.WriteFatal(data);
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
//发送到邮箱 //发送到邮箱
SendUserMail("异常记录", "时间:" + DateTime.Now.ToString("O") + Environment.NewLine + data); SendUserMail("异常记录", "时间:" + DateTime.Now.ToString("O") + Environment.NewLine + data);
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.MD5) else if (handle == CommonHeadCode.SimplifyHeadCode.MD5)
{ {
try try
{ {
@@ -612,14 +621,14 @@ namespace 软件系统服务端模版
string UserName = SoftBasic.GetValueFromJsonObject(json, UserAccount.UserNameText, ""); string UserName = SoftBasic.GetValueFromJsonObject(json, UserAccount.UserNameText, "");
UserServer.ServerAccounts.UpdatePortraitMD5(UserName, SmallPortraitMD5, LargePortraitMD5); UserServer.ServerAccounts.UpdatePortraitMD5(UserName, SmallPortraitMD5, LargePortraitMD5);
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
} }
catch(Exception ex) catch(Exception ex)
{ {
net_simplify_server.SendMessage(state, customer, "失败,原因是:" + ex.Message); net_simplify_server.SendMessage(state, handle, "失败,原因是:" + ex.Message);
} }
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
try try
{ {
@@ -630,177 +639,185 @@ namespace 软件系统服务端模版
{ {
RuntimeLogHelper?.WriteException(null, ex); RuntimeLogHelper?.WriteException(null, ex);
} }
net_simplify_server.SendMessage(state, customer, "1"); net_simplify_server.SendMessage(state, handle, "1");
} }
else else
{ {
net_simplify_server.SendMessage(state, customer, data); net_simplify_server.SendMessage(state, handle, data);
} }
} }
#endregion
#region 1.2.X
/// <summary> /// <summary>
/// B指令块处理日志相关的消息 /// B指令块处理日志相关的消息
/// </summary> /// </summary>
/// <param name="state">网络状态对象</param> /// <param name="state">网络状态对象</param>
/// <param name="customer">用户自定义的命令头</param> /// <param name="handle">用户自定义的命令头</param>
/// <param name="data">实际的数据</param> /// <param name="data">实际的数据</param>
private void DataProcessingWithStartB(AsyncStateOne state, int customer, string data) private void DataProcessingWithStartB(AsyncStateOne state, NetHandle handle, string data)
{ {
if (customer == CommonHeadCode.SimplifyHeadCode.) if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
LogNetSingle logNet = (LogNetSingle)net_socket_server.LogNet; LogNetSingle logNet = (LogNetSingle)net_socket_server.LogNet;
net_simplify_server.SendMessage(state, customer, logNet.GetAllSavedLog()); net_simplify_server.SendMessage(state, handle, logNet.GetAllSavedLog());
RuntimeLogHelper.WriteInfo("网络日志查看"); RuntimeLogHelper.WriteInfo("网络日志查看");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
if (net_socket_server.LogNet is LogNetSingle logNet) if (net_socket_server.LogNet is LogNetSingle logNet)
{ {
logNet.ClearLog(); logNet.ClearLog();
} }
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
RuntimeLogHelper.WriteWarn("网络日志清空"); RuntimeLogHelper.WriteWarn("网络日志清空");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
LogNetSingle logNet = (LogNetSingle)net_simplify_server.LogNet; LogNetSingle logNet = (LogNetSingle)net_simplify_server.LogNet;
net_simplify_server.SendMessage(state, customer, logNet.GetAllSavedLog()); net_simplify_server.SendMessage(state, handle, logNet.GetAllSavedLog());
RuntimeLogHelper.WriteInfo("同步日志查看"); RuntimeLogHelper.WriteInfo("同步日志查看");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
if (net_simplify_server.LogNet is LogNetSingle logNet) if (net_simplify_server.LogNet is LogNetSingle logNet)
{ {
logNet.ClearLog(); logNet.ClearLog();
} }
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
RuntimeLogHelper.WriteWarn("同步日志清空"); RuntimeLogHelper.WriteWarn("同步日志清空");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
LogNetSingle logNet = (LogNetSingle)net_soft_update_Server.LogNet; LogNetSingle logNet = (LogNetSingle)net_soft_update_Server.LogNet;
net_simplify_server.SendMessage(state, customer, logNet.GetAllSavedLog()); net_simplify_server.SendMessage(state, handle, logNet.GetAllSavedLog());
RuntimeLogHelper.WriteInfo("更新日志查看"); RuntimeLogHelper.WriteInfo("更新日志查看");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
if (net_soft_update_Server.LogNet is LogNetSingle logNet) if (net_soft_update_Server.LogNet is LogNetSingle logNet)
{ {
logNet.ClearLog(); logNet.ClearLog();
} }
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
RuntimeLogHelper.WriteWarn("更新日志清空"); RuntimeLogHelper.WriteWarn("更新日志清空");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
LogNetSingle logNet = (LogNetSingle)RuntimeLogHelper; LogNetSingle logNet = (LogNetSingle)RuntimeLogHelper;
net_simplify_server.SendMessage(state, customer, logNet.GetAllSavedLog()); net_simplify_server.SendMessage(state, handle, logNet.GetAllSavedLog());
RuntimeLogHelper.WriteInfo("运行日志查看"); RuntimeLogHelper.WriteInfo("运行日志查看");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
if (RuntimeLogHelper is LogNetSingle logNet) if (RuntimeLogHelper is LogNetSingle logNet)
{ {
logNet.ClearLog(); logNet.ClearLog();
} }
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
RuntimeLogHelper.WriteWarn("运行日志清空"); RuntimeLogHelper.WriteWarn("运行日志清空");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
LogNetSingle logNet = (LogNetSingle)net_simple_file_server.LogNet; LogNetSingle logNet = (LogNetSingle)net_simple_file_server.LogNet;
net_simplify_server.SendMessage(state, customer, logNet.GetAllSavedLog()); net_simplify_server.SendMessage(state, handle, logNet.GetAllSavedLog());
RuntimeLogHelper.WriteInfo("共享文件日志查看"); RuntimeLogHelper.WriteInfo("共享文件日志查看");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
if (net_simple_file_server.LogNet is LogNetSingle logNet) if (net_simple_file_server.LogNet is LogNetSingle logNet)
{ {
logNet.ClearLog(); logNet.ClearLog();
} }
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
RuntimeLogHelper.WriteWarn("共享文件日志清空"); RuntimeLogHelper.WriteWarn("共享文件日志清空");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
LogNetSingle logNet = (LogNetSingle)AdviceLogHelper; LogNetSingle logNet = (LogNetSingle)AdviceLogHelper;
net_simplify_server.SendMessage(state, customer, logNet.GetAllSavedLog()); net_simplify_server.SendMessage(state, handle, logNet.GetAllSavedLog());
RuntimeLogHelper.WriteInfo("建议反馈日志查看"); RuntimeLogHelper.WriteInfo("建议反馈日志查看");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
if (AdviceLogHelper is LogNetSingle logNet) if (AdviceLogHelper is LogNetSingle logNet)
{ {
logNet.ClearLog(); logNet.ClearLog();
} }
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
RuntimeLogHelper.WriteWarn("建议反馈日志清空"); RuntimeLogHelper.WriteWarn("建议反馈日志清空");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.UDP日志查看) else if (handle == CommonHeadCode.SimplifyHeadCode.UDP日志查看)
{ {
LogNetSingle logNet = (LogNetSingle)net_udp_server.LogNet; LogNetSingle logNet = (LogNetSingle)net_udp_server.LogNet;
net_simplify_server.SendMessage(state, 0, logNet.GetAllSavedLog()); net_simplify_server.SendMessage(state, 0, logNet.GetAllSavedLog());
RuntimeLogHelper.WriteInfo("UDP日志查看"); RuntimeLogHelper.WriteInfo("UDP日志查看");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.UDP日志清空) else if (handle == CommonHeadCode.SimplifyHeadCode.UDP日志清空)
{ {
if (net_udp_server.LogNet is LogNetSingle logNet) if (net_udp_server.LogNet is LogNetSingle logNet)
{ {
logNet.ClearLog(); logNet.ClearLog();
} }
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
RuntimeLogHelper.WriteWarn("UDP日志清空"); RuntimeLogHelper.WriteWarn("UDP日志清空");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
LogNetSingle logNet = ClientsLogHelper as LogNetSingle; LogNetSingle logNet = ClientsLogHelper as LogNetSingle;
net_simplify_server.SendMessage(state, 0, logNet.GetAllSavedLog()); net_simplify_server.SendMessage(state, 0, logNet.GetAllSavedLog());
RuntimeLogHelper.WriteInfo("客户端日志查看"); RuntimeLogHelper.WriteInfo("客户端日志查看");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
if (ClientsLogHelper is LogNetSingle logNet) if (ClientsLogHelper is LogNetSingle logNet)
{ {
logNet.ClearLog(); logNet.ClearLog();
} }
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
RuntimeLogHelper.WriteWarn("客户端日志清空"); RuntimeLogHelper.WriteWarn("客户端日志清空");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
LogNetSingle logNet = (LogNetSingle)net_file_Advanced.LogNet; LogNetSingle logNet = (LogNetSingle)net_file_Advanced.LogNet;
net_simplify_server.SendMessage(state, 0, logNet.GetAllSavedLog()); net_simplify_server.SendMessage(state, 0, logNet.GetAllSavedLog());
RuntimeLogHelper.WriteInfo("头像日志查看"); RuntimeLogHelper.WriteInfo("头像日志查看");
} }
else if (customer == CommonHeadCode.SimplifyHeadCode.) else if (handle == CommonHeadCode.SimplifyHeadCode.)
{ {
if (net_file_Advanced.LogNet is LogNetSingle logNet) if (net_file_Advanced.LogNet is LogNetSingle logNet)
{ {
logNet.ClearLog(); logNet.ClearLog();
} }
net_simplify_server.SendMessage(state, customer, "成功"); net_simplify_server.SendMessage(state, handle, "成功");
RuntimeLogHelper.WriteWarn("头像日志清空"); RuntimeLogHelper.WriteWarn("头像日志清空");
} }
else else
{ {
net_simplify_server.SendMessage(state, customer, data); net_simplify_server.SendMessage(state, handle, data);
} }
} }
#endregion
#region 1.3.X
/**************************************************************************************************** /****************************************************************************************************
*
* *
* 您在下面可以自己扩展数据处理的方法,设计原则为运行速度尽可能的快,不要长时间阻塞 * 您在下面可以自己扩展数据处理的方法,设计原则为运行速度尽可能的快,不要长时间阻塞
* *
*
****************************************************************************************************/ ****************************************************************************************************/
private void DataProcessingWithStartC(AsyncStateOne state, int customer, string data) private void DataProcessingWithStartC(AsyncStateOne state, NetHandle handle, string data)
{ {
// 下面随便扩充
} }
#endregion
#endregion #endregion
@@ -847,17 +864,18 @@ namespace 软件系统服务端模版
******************************************************************************************************************/ ******************************************************************************************************************/
private void Net_socket_server_AcceptString(AsyncStateOne object1, NetHandle customer, string data) private void Net_socket_server_AcceptString(AsyncStateOne object1, NetHandle handle, string data)
{ {
//如果此处充斥大量if语句影响观感则考虑进行指令头分类操作客户端异步发送的字符串都会到此处处理 if (handle.CodeMajor == 2 && handle.CodeMinor == 1)
if (CommonHeadCode.MultiNetHeadCode.IsCustomerGroupSystem(customer))
{ {
//H类系统指令 DataProcessingWithStartH(object1, handle, data);
DataProcessingWithStartH(object1, customer, data);
} }
} }
#region 2.1.X
/// <summary> /// <summary>
/// H开头的处理块 /// H开头的处理块
/// </summary> /// </summary>
@@ -873,6 +891,9 @@ namespace 软件系统服务端模版
} }
#endregion
private void Net_socket_server_AcceptByte(AsyncStateOne state, NetHandle customer, byte[] data) private void Net_socket_server_AcceptByte(AsyncStateOne state, NetHandle customer, byte[] data)
{ {
//如果此处充斥大量if语句影响观感则考虑进行指令头分类操作客户端异步发送的字节数组都会到此处处理 //如果此处充斥大量if语句影响观感则考虑进行指令头分类操作客户端异步发送的字节数组都会到此处处理