Compare commits
2
Commits
77c852ecf4
...
13fcedcae5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
13fcedcae5 | ||
|
|
07e98cec21 |
No files matched your search
@@ -142,15 +142,7 @@ namespace ForwardingServerUI.Class
|
|||||||
await e.InvokeNext();*/
|
await e.InvokeNext();*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+30
-18
@@ -33,24 +33,23 @@ namespace ForwardingServerUI.Class
|
|||||||
service.Connecting = (client, e) => { return EasyTask.CompletedTask; };//有客户端正在连接
|
service.Connecting = (client, e) => { return EasyTask.CompletedTask; };//有客户端正在连接
|
||||||
service.Connected = (client, e) => { return EasyTask.CompletedTask;};//有客户端成功连接
|
service.Connected = (client, e) => { return EasyTask.CompletedTask;};//有客户端成功连接
|
||||||
service.Closing = (client, e) => { return EasyTask.CompletedTask; };//有客户端正在断开连接,只有当主动断开时才有效。
|
service.Closing = (client, e) => { return EasyTask.CompletedTask; };//有客户端正在断开连接,只有当主动断开时才有效。
|
||||||
service.Closed = (client, e) => {
|
service.Closed = (client, e) =>
|
||||||
|
{
|
||||||
//离线记录
|
//离线记录
|
||||||
|
|
||||||
Console.WriteLine("[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "] NOT ID " +
|
Console.WriteLine("[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "] NOT ID " +
|
||||||
client.Id + " IP " + client.IP);
|
client.Id + " IP " + client.IP);
|
||||||
|
|
||||||
DataRow[] dat = MainWindowViewModel._machineTable.Select("ID='"+client.Id+"'");
|
DataRow row = MainWindowViewModel._machineTable.Select("ID='" + client.Id + "'").First();
|
||||||
foreach (DataRow row in dat)
|
|
||||||
{
|
|
||||||
Application.Current.Dispatcher.Invoke(() => {
|
|
||||||
MainWindowViewModel._machineTable.Rows.Remove(row);
|
|
||||||
});
|
|
||||||
|
|
||||||
Console.WriteLine("[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "] NOT LINK ID = " +
|
Console.WriteLine("[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "] BREAK LINK ID = " +
|
||||||
row["ID"] + " IP = " + row["IP"] + " Enterprise = " + row["Enterprise"] +
|
row["ID"] + " IP = " + row["IP"] + " Enterprise = " + row["Enterprise"] +
|
||||||
" MachineName = " + row["MachineName"]);
|
" MachineName = " + row["MachineName"]);
|
||||||
}
|
|
||||||
return EasyTask.CompletedTask;
|
Application.Current.Dispatcher.Invoke(() =>
|
||||||
|
{
|
||||||
|
MainWindowViewModel._machineTable.Rows.Remove(row);
|
||||||
|
});
|
||||||
|
return EasyTask.CompletedTask;
|
||||||
};//有客户端断开连接
|
};//有客户端断开连接
|
||||||
service.Received = (client, e) =>{
|
service.Received = (client, e) =>{
|
||||||
string DAT = e.Memory.Span.ToString(Encoding.UTF8);
|
string DAT = e.Memory.Span.ToString(Encoding.UTF8);
|
||||||
@@ -156,7 +155,7 @@ namespace ForwardingServerUI.Class
|
|||||||
Console.WriteLine("TcpServer:Run");
|
Console.WriteLine("TcpServer:Run");
|
||||||
|
|
||||||
//启动检查循环定时器
|
//启动检查循环定时器
|
||||||
_timer = new Timer(TimerCallback, null, TimeSpan.FromSeconds(90), TimeSpan.FromSeconds(30));
|
_timer = new Timer(TimerCallback, null, TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(30));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static async void TimerCallback(object? state)
|
private static async void TimerCallback(object? state)
|
||||||
@@ -168,12 +167,24 @@ namespace ForwardingServerUI.Class
|
|||||||
{
|
{
|
||||||
DataRow dataRow = MainWindowViewModel._machineTable.Rows[i-1];
|
DataRow dataRow = MainWindowViewModel._machineTable.Rows[i-1];
|
||||||
DateTime dateTime = DateTime.Parse(dataRow["HeartbeatTime"].ToString()!);
|
DateTime dateTime = DateTime.Parse(dataRow["HeartbeatTime"].ToString()!);
|
||||||
|
|
||||||
|
if (DateTime.Now > dateTime.AddSeconds(30) && (int)dataRow["Start"] == 30)
|
||||||
|
{
|
||||||
|
Application.Current.Dispatcher.Invoke(() =>
|
||||||
|
{
|
||||||
|
dataRow.BeginEdit();
|
||||||
|
dataRow["Start"] = 999;
|
||||||
|
dataRow.EndEdit();
|
||||||
|
dataRow.AcceptChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
Console.WriteLine("[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "] NOT LINK ID = " +
|
||||||
|
dataRow["ID"] + " IP = " + dataRow["IP"] + " Enterprise = " + dataRow["Enterprise"] +
|
||||||
|
" MachineName = " + dataRow["MachineName"]);
|
||||||
|
}
|
||||||
|
|
||||||
if (DateTime.Now > dateTime.AddSeconds(180))
|
if (DateTime.Now > dateTime.AddSeconds(180))
|
||||||
{
|
{
|
||||||
Console.WriteLine("[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "] NOT LINK ID = " +
|
|
||||||
dataRow["ID"] + " IP = " + dataRow["IP"] + " Enterprise = " + dataRow["Enterprise"] +
|
|
||||||
" MachineName = " + dataRow["MachineName"] );
|
|
||||||
|
|
||||||
//关闭无回应连接
|
//关闭无回应连接
|
||||||
foreach (var item in service.Clients)
|
foreach (var item in service.Clients)
|
||||||
{
|
{
|
||||||
@@ -186,6 +197,7 @@ namespace ForwardingServerUI.Class
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|||||||
Reference in new issue
Block a user