diff --git a/UserClass/AsyncHttpServer.cs b/UserClass/AsyncHttpServer.cs index cf61710..f66d0c2 100644 --- a/UserClass/AsyncHttpServer.cs +++ b/UserClass/AsyncHttpServer.cs @@ -60,21 +60,22 @@ namespace SunlightAggregationManager.UserClass if (_dat != "99") { //行为 - Dictionary myDict = new Dictionary(); - myDict.Add("LinkID", client.Id); - myDict.Add("LastLoginIP", deserializedPerson?.IP ?? client.IP); - myDict.Add("LastActionTime", DateTime.Now); - myDict.Add("Note", deserializedPerson?.Dat ?? "unknown"); - MainWindowViewModel.Updata_Memory(MainWindowViewModel._userData, "User='" + deserializedPerson?.User + "'", myDict); - - Console.WriteLine("[Log on]User[" + deserializedPerson?.User + "]Note[" + (deserializedPerson?.Dat ?? "unknown") + "]"); - - var dt = await Command(deserializedPerson!); - - e.Context.Response.Headers.Add("SUNLIGHT", "SUNLIGHT"); - e.Context.Response.SetStatus(200, "success"); - e.Context.Response.SetContent(Encoding.UTF8.GetBytes(dt.ToCharArray())); - await e.Context.Response.AnswerAsync(); + Dictionary myDict = new Dictionary(); + myDict.Add("LinkID", client.Id); + myDict.Add("LastLoginIP", deserializedPerson?.IP ?? client.IP); + myDict.Add("LastActionTime", DateTime.Now); + myDict.Add("Note", deserializedPerson?.Dat ?? "unknown"); + MainWindowViewModel.Updata_Memory(MainWindowViewModel._userData, "User='" + deserializedPerson?.User + "'", myDict); + + Console.WriteLine("[Log on]User[" + deserializedPerson?.User + "]Note[" + (deserializedPerson?.Dat ?? "unknown") + "]"); + + deserializedPerson!.Dat = await Command(deserializedPerson!); + var jsdat = JsonSerializer.Serialize(deserializedPerson); + + e.Context.Response.Headers.Add("SUNLIGHT", "SUNLIGHT"); + e.Context.Response.SetStatus(200, "success"); + e.Context.Response.SetContent(jsdat); + await e.Context.Response.AnswerAsync(); } else {//停用账号关闭连接 diff --git a/UserClass/AsyncTcpClient.cs b/UserClass/AsyncTcpClient.cs index 6d0a53b..7e7855d 100644 --- a/UserClass/AsyncTcpClient.cs +++ b/UserClass/AsyncTcpClient.cs @@ -44,13 +44,15 @@ namespace SunlightAggregationManager.UserClass } //发送本机信息到转发服务器 Dictionary myDict = new Dictionary(); - myDict.Add("Enterprise", MainWindowViewModel.Enterprise); - myDict.Add("MachineName", MainWindowViewModel.MachineName); + myDict.Add("SERVEREnterprise", MainWindowViewModel.Enterprise); + myDict.Add("SERVERMachineName", MainWindowViewModel.MachineName); myDict.Add("SERVERNAME", MainWindowViewModel.SERVERNAME); myDict.Add("SERVERUSER", MainWindowViewModel.SERVERUSER); myDict.Add("SERRVERPASWORD", MainWindowViewModel.SERRVERPASWORD); myDict.Add("MachineVer", MainWindowViewModel.MachineVer); TcpTransmit(myDict); + + Console.WriteLine("Sunlight_Server_Connected"); return EasyTask.CompletedTask; };//成功连接到服务器 tcpClient.Closing = (client, e) => { return EasyTask.CompletedTask; };//即将从服务器断开连接。此处仅主动断开才有效。 @@ -62,6 +64,7 @@ namespace SunlightAggregationManager.UserClass targetRow["Status"] = "Disconnect"; targetRow.EndEdit(); } + Console.WriteLine("Sunlight_Server_Disconnect"); return EasyTask.CompletedTask; };//从服务器断开连接,当连接不成功时不会触发。 #region Tcp客户端使用Received异步委托接收数据 tcpClient.Received = (client, e) => diff --git a/UserClass/AsyncTcpServer.cs b/UserClass/AsyncTcpServer.cs index e2d7f04..7d574e7 100644 --- a/UserClass/AsyncTcpServer.cs +++ b/UserClass/AsyncTcpServer.cs @@ -5,10 +5,12 @@ using System.Data; using System.Security.Cryptography.Pkcs; using System.Text; using System.Text.Json; +using System.Windows; using System.Windows.Markup; using System.Xml.Linq; using TouchSocket.Core; using TouchSocket.Sockets; +using static SunlightAggregationManager.UserClass.AsyncTcpServer; namespace SunlightAggregationManager.UserClass { @@ -67,7 +69,7 @@ namespace SunlightAggregationManager.UserClass MainWindowViewModel.Updata_Memory(MainWindowViewModel._userData, "User='" + deserializedPerson?.User + "'", myDict); Console.WriteLine("[Log on]User[" + deserializedPerson?.User + "]Note[" + (deserializedPerson?.Dat ?? "unknown") + "]"); - Command(deserializedPerson?.Dat ?? "NOT", client.Id); + Command(deserializedPerson?.Dat ?? "NOT", client.Id, deserializedPerson!); } else {//首次登录记录 @@ -94,8 +96,9 @@ namespace SunlightAggregationManager.UserClass login.Add("UserId", dat?.Field("UserID") ?? ""); login.Add("UserName", dat?.Field("Name") ?? ""); - var d = JsonSerializer.Serialize(login); - client.SendAsync(d); + deserializedPerson!.Dat = JsonSerializer.Serialize(login); + var jsdat = JsonSerializer.Serialize(deserializedPerson); + client.SendAsync(jsdat); } } else @@ -164,7 +167,7 @@ namespace SunlightAggregationManager.UserClass Console.WriteLine("TCP SERVER:START"); } - public static async void Command(string dat,string id)// + public static async void Command(string dat,string id , Person person)// { string Command="", ret =""; @@ -215,7 +218,9 @@ namespace SunlightAggregationManager.UserClass ret = JsonSerializer.Serialize(data_); } - await service.SendAsync(id, ret); + person.Dat=ret.ToString(); + var jsdat = JsonSerializer.Serialize(person); + await service.SendAsync(id, jsdat); } public static List>? ToList(DataTable table)//datatable转list