sc 11 months ago
parent
commit
551bea91f4
  1. 1
      SunlightCentralizedControlManagement_SCCM_.csproj
  2. 66
      UserClass/SYSInfo.cs
  3. 3
      View/MachinesSet.xaml
  4. 53
      View/MachinesSet.xaml.cs

1
SunlightCentralizedControlManagement_SCCM_.csproj

@ -91,6 +91,7 @@
<Compile Include="UserClass\NetFwManger.cs" />
<Compile Include="UserClass\NumericTextColumn .cs" />
<Compile Include="UserClass\PID.cs" />
<Compile Include="UserClass\SYSInfo.cs" />
<Compile Include="UserClass\PressKey.cs" />
<Compile Include="UserClass\SqliteHelper.cs" />
<Compile Include="UserClass\StrToInt.cs" />

66
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;
}
}
}

3
View/MachinesSet.xaml

@ -79,8 +79,7 @@
<TextBlock HorizontalAlignment="Left" Height="40" Margin="10,150,0,0" TextWrapping="Wrap" Text="COM" VerticalAlignment="Top" Width="120" FontSize="25"/>
<TextBox HorizontalAlignment="Left" Height="30" Margin="360,150,0,0" x:Name="BAUD" VerticalAlignment="Top" Width="60" FontSize="20" MaxLines="1" Text="57600"/>
<TextBlock HorizontalAlignment="Left" Height="40" Margin="350,150,0,0" TextWrapping="Wrap" Text=":" VerticalAlignment="Top" Width="20" FontSize="25"/>
<TextBlock HorizontalAlignment="Left" Height="40" Margin="10,200,0,0" TextWrapping="Wrap" Text="------------" VerticalAlignment="Top" Width="140" FontSize="25"/>
<TextBlock HorizontalAlignment="Left" Height="40" Margin="10,200,0,0" x:Name="textlog" TextWrapping="Wrap" Text="------------" VerticalAlignment="Top" Width="140" FontSize="20"/>
<Button Content="{x:Static lang:Resources.Save}" HorizontalAlignment="Left" Height="35" Margin="250,200,0,5" VerticalAlignment="Top" Width="80" Click="Save_Click"/>
<Button Content="{x:Static lang:Resources.Delete}" HorizontalAlignment="Left" Height="35" Margin="340,200,0,5" VerticalAlignment="Top" Width="80" Click="Delete_Click"/>
<Button Content="{x:Static lang:Resources.Test}" HorizontalAlignment="Left" Height="35" Margin="160,200,50,5" VerticalAlignment="Top" Width="80" Click="Test_Click"/>

53
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));
}
}
}

Loading…
Cancel
Save