55 lines
1.9 KiB
C#
55 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Sockets;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.Win32;
|
|
|
|
namespace XKRS.Common.Model.Authority
|
|
{
|
|
public static class AuthorityCheck
|
|
{
|
|
public static Timer AuthorityCheckTimer = null;
|
|
public static UdpClient RemoteCheckClient = null;//提供用户数据报协议(Udp)网络服务
|
|
static byte[] CHECKBUFFER = null;
|
|
static IPEndPoint AuthorityServer = null;//将网络终结点表示为IP地址和端口号
|
|
public static bool IsAuthorityOK { get; set; } = false;//是否批准静态属性 默认初值为false
|
|
static bool _isCheckAuthorityNecessary = true;
|
|
|
|
static AuthorityCheck()
|
|
{
|
|
//AuthorityCheckTimer = new Timer(OnAuthorityCheck, null, 0, 1000 * 60);
|
|
RemoteCheckClient = new UdpClient();
|
|
//获取或设置 System.Boolean 值,该值指定是否 System.Net.Sockets.UdpClient 可能会发送或接收广播的数据包。
|
|
RemoteCheckClient.EnableBroadcast = true;
|
|
//获取或设置一个值,指定的后的时间量同步 Overload:System.Net.Sockets.Socket.Receive 调用将会超时。
|
|
RemoteCheckClient.Client.ReceiveTimeout = 1000;
|
|
|
|
CHECKBUFFER = Encoding.UTF8.GetBytes("AuthorityCheck");
|
|
|
|
//string checkStr = ConfigurationManger.AppSettings["AuthorityCheck"];
|
|
}
|
|
|
|
|
|
private static void OnAuthorityCheck(object state)
|
|
{
|
|
AuthorityCheckOperation();
|
|
}
|
|
public static void AuthorityCheckOperartion()
|
|
{
|
|
if (!_isCheckAuthorityNecessary)
|
|
{
|
|
IsAuthorityOK = true;
|
|
}
|
|
else
|
|
{
|
|
DogFeature feature = new DogFeature();
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|