mirror of https://github.com/qwqdanchun/DcRat.git
54 lines
2.0 KiB
C#
54 lines
2.0 KiB
C#
using Server.MessagePack;
|
|
using Server.Connection;
|
|
using System.Diagnostics;
|
|
using System.Windows.Forms;
|
|
using System.Threading;
|
|
using System.Drawing;
|
|
|
|
namespace Server.Handle_Packet
|
|
{
|
|
public class HandlePing
|
|
{
|
|
public void Ping(Clients client, MsgPack unpack_msgpack)
|
|
{
|
|
try
|
|
{
|
|
MsgPack msgpack = new MsgPack();
|
|
msgpack.ForcePathObject("Pac_ket").SetAsString("Po_ng");
|
|
ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes());
|
|
lock (Settings.LockListviewClients)
|
|
if (client.LV != null)
|
|
client.LV.SubItems[Program.form1.lv_act.Index].Text = unpack_msgpack.ForcePathObject("Message").AsString;
|
|
else
|
|
Debug.WriteLine("Temp socket pinged server");
|
|
}
|
|
catch { }
|
|
}
|
|
|
|
public void Po_ng(Clients client, MsgPack unpack_msgpack)
|
|
{
|
|
try
|
|
{
|
|
lock (Settings.LockListviewClients)
|
|
if (client.LV != null)
|
|
{
|
|
client.LV.SubItems[Program.form1.lv_ping.Index].Text = unpack_msgpack.ForcePathObject("Message").AsInteger.ToString() + " MS";
|
|
if (unpack_msgpack.ForcePathObject("Message").AsInteger > 600)
|
|
{
|
|
client.LV.SubItems[Program.form1.lv_ping.Index].ForeColor = Color.Red;
|
|
}
|
|
else if (unpack_msgpack.ForcePathObject("Message").AsInteger > 300)
|
|
{
|
|
client.LV.SubItems[Program.form1.lv_ping.Index].ForeColor = Color.Orange;
|
|
}
|
|
else
|
|
{
|
|
client.LV.SubItems[Program.form1.lv_ping.Index].ForeColor = Color.Green;
|
|
}
|
|
}
|
|
|
|
}
|
|
catch { }
|
|
}
|
|
}
|
|
} |