Administrator 2 months ago
parent
commit
751bbe5199
  1. 21
      UserClass/AsyncTcpClient.cs

21
UserClass/AsyncTcpClient.cs

@ -7,7 +7,6 @@ using System.Text.Json;
using TouchSocket.Core; using TouchSocket.Core;
using TouchSocket.Sockets; using TouchSocket.Sockets;
using static SunlightAggregationManager.UserClass.AsyncTcpServer; using static SunlightAggregationManager.UserClass.AsyncTcpServer;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace SunlightAggregationManager.UserClass namespace SunlightAggregationManager.UserClass
{ {
@ -58,7 +57,16 @@ namespace SunlightAggregationManager.UserClass
Console.WriteLine("Sunlight_Server_Connected"); Console.WriteLine("Sunlight_Server_Connected");
return EasyTask.CompletedTask; return EasyTask.CompletedTask;
};//成功连接到服务器 };//成功连接到服务器
tcpClient.Closing = (client, e) => { return EasyTask.CompletedTask; };//即将从服务器断开连接。此处仅主动断开才有效。 tcpClient.Closing = (client, e) => {
System.Data.DataRow targetRow = ViewModel.MainWindowViewModel._service.Select("Service = 'Sunlight_Server_Link'").FirstOrDefault()!;
if (targetRow != null)
{
targetRow.BeginEdit();
targetRow["Status"] = "Disconnect";
targetRow.EndEdit();
}
Console.WriteLine("Sunlight_Server_Disconnect");
return EasyTask.CompletedTask; };//即将从服务器断开连接。此处仅主动断开才有效。
tcpClient.Closed = (client, e) => { tcpClient.Closed = (client, e) => {
System.Data.DataRow targetRow = ViewModel.MainWindowViewModel._service.Select("Service = 'Sunlight_Server_Link'").FirstOrDefault()!; System.Data.DataRow targetRow = ViewModel.MainWindowViewModel._service.Select("Service = 'Sunlight_Server_Link'").FirstOrDefault()!;
if (targetRow != null) if (targetRow != null)
@ -130,7 +138,7 @@ namespace SunlightAggregationManager.UserClass
{ {
a.UseReconnection<TouchSocket.Sockets.TcpClient>(options => a.UseReconnection<TouchSocket.Sockets.TcpClient>(options =>
{ {
options.PollingInterval = TimeSpan.FromSeconds(5); options.PollingInterval = TimeSpan.FromSeconds(3);
}); });
})); }));
@ -145,6 +153,7 @@ namespace SunlightAggregationManager.UserClass
public static async void CommandC(string dat, Person person)// public static async void CommandC(string dat, Person person)//
{ {
try {
string Command = "", ret = ""; string Command = "", ret = "";
Dictionary<string, object> data_ = new Dictionary<string, object>(); Dictionary<string, object> data_ = new Dictionary<string, object>();
@ -208,6 +217,12 @@ namespace SunlightAggregationManager.UserClass
person!.Dat = ret.ToString(); person!.Dat = ret.ToString();
var jsdat = JsonSerializer.Serialize(person); var jsdat = JsonSerializer.Serialize(person);
await tcpClient.SendAsync(jsdat); await tcpClient.SendAsync(jsdat);
}
catch (Exception ex)
{
LogGing.ERRDATA(ex);
Console.WriteLine(ex.ToString());
}
} }
} }
} }

Loading…
Cancel
Save