diff --git a/SunlightCentralizedControlManagement_SCCM_.csproj b/SunlightCentralizedControlManagement_SCCM_.csproj
index 8eefe5e..efb1818 100644
--- a/SunlightCentralizedControlManagement_SCCM_.csproj
+++ b/SunlightCentralizedControlManagement_SCCM_.csproj
@@ -91,6 +91,7 @@
+
diff --git a/UserClass/SYSInfo.cs b/UserClass/SYSInfo.cs
new file mode 100644
index 0000000..f4637b6
--- /dev/null
+++ b/UserClass/SYSInfo.cs
@@ -0,0 +1,66 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net.NetworkInformation;
+using System.Net;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SunlightCentralizedControlManagement_SCCM_.UserClass
+{
+ public class SYSInfo
+ {
+ public PingReply PingTest(string ip)
+ {
+ PingReply reply = null;
+ Ping pingSender = null;
+ try
+ {
+ pingSender = new Ping();
+
+ PingOptions options = new PingOptions();
+ options.DontFragment = true;
+
+ string data = "PING";
+ byte[] buffer = Encoding.ASCII.GetBytes(data);
+ int timeout = 1000;
+
+ IPAddress ipa = IPAddress.Parse(ip);
+ PingReply replyPing = pingSender.Send(ip, timeout, buffer, options);
+ reply = replyPing;
+ }
+ catch (Exception)
+ {
+ reply = null;
+ }
+ finally
+ {
+ pingSender.Dispose();
+ }
+ return reply;
+ }
+
+ public String GetIPGlobal()
+ {
+ //得到本机Internet协议IPV4的统计数据;
+ IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
+ IPGlobalStatistics ipstat = properties.GetIPv4GlobalStatistics();
+
+ Console.WriteLine(" Inbound Packet Data:");
+ //获取收到的 Internet 协议 (IP) 数据包数
+ Console.WriteLine(" Received ............................ : {0}", ipstat.ReceivedPackets);
+ //获取转发的 Internet 协议 (IP) 数据包数
+ Console.WriteLine(" Forwarded ........................... : {0}", ipstat.ReceivedPacketsForwarded);
+ //获取传送的 Internet 协议(IP) 数据包数
+ Console.WriteLine(" Delivered ........................... : {0}", ipstat.ReceivedPacketsDelivered);
+ //获取已收到但被丢弃的 Internet 协议 (IP) 数据包数
+ Console.WriteLine(" Discarded ........................... : {0}", ipstat.ReceivedPacketsDiscarded);
+
+ double percent = (double)ipstat.ReceivedPacketsDiscarded / ipstat.ReceivedPacketsDelivered;
+ string packetsPercent = percent.ToString("P");
+
+ return packetsPercent;
+
+ }
+ }
+}
diff --git a/View/MachinesSet.xaml b/View/MachinesSet.xaml
index 79e1404..31fe514 100644
--- a/View/MachinesSet.xaml
+++ b/View/MachinesSet.xaml
@@ -79,8 +79,7 @@
-
-
+
diff --git a/View/MachinesSet.xaml.cs b/View/MachinesSet.xaml.cs
index 068cf16..fde1291 100644
--- a/View/MachinesSet.xaml.cs
+++ b/View/MachinesSet.xaml.cs
@@ -1,9 +1,13 @@
using SkiaSharp;
+using SunlightCentralizedControlManagement_SCCM_.UserClass;
using SunlightCentralizedControlManagement_SCCM_.ViewModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
+using System.Net;
+using System.Net.NetworkInformation;
+using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
@@ -65,8 +69,55 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
{
}
- private void Test_Click(object sender, RoutedEventArgs e)
+ private void Test_Click(object sender, RoutedEventArgs e)//测试按钮
{
+ if (!string.IsNullOrEmpty(IP.Text) && !string.IsNullOrEmpty(PORT.Text))
+ {
+ textlog.Text = "TEST";
+ textlog.Foreground = new SolidColorBrush(Color.FromRgb(0, 0, 255));
+ //------------使用ping类------
+ string host = IP.Text;
+ Ping p1 = new Ping();
+ PingReply reply = p1.Send(host); //发送主机名或Ip地址
+ //StringBuilder sbuilder;
+ if (reply.Status == IPStatus.Success)
+ {
+ Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+ //连接服务器,绑定IP 与 端口
+ IPEndPoint iPEndPoint = new IPEndPoint(IPAddress.Parse(IP.Text), int.Parse(PORT.Text));
+ try
+ {
+ socket.Connect(iPEndPoint);
+ socket.Close();//离线
+ textlog.Text = "Link succeed";
+ textlog.Foreground = new SolidColorBrush(Color.FromRgb(0, 255, 0));
+ }
+ catch (Exception)
+ {
+ textlog.Text = "Link failed";
+ textlog.Foreground = new SolidColorBrush(Color.FromRgb(255, 255, 0));
+ }
+ }
+ else if (reply.Status == IPStatus.TimedOut)
+ {
+ textlog.Text = "Link timeout";
+ textlog.Foreground = new SolidColorBrush(Color.FromRgb(255, 0, 0));
+ }
+ else
+ {
+ textlog.Text = "No links";
+ textlog.Foreground = new SolidColorBrush(Color.FromRgb(255, 0, 0));
+ }
+ }
+ else if (!string.IsNullOrEmpty(comboBoxCOM0.Text))
+ {
+
+ }
+ else
+ {
+ textlog.Text = "Invalid";
+ textlog.Foreground = new SolidColorBrush(Color.FromRgb(255, 0, 0));
+ }
}
}