using System;
|
using System.Collections.Generic;
|
using System.Net.NetworkInformation;
|
using System.Net;
|
using System.Text;
|
using Shared.SimpleControl;
|
|
namespace Shared
|
{
|
public class API
|
{
|
|
public static long PingServerAddress (string serverAddress)
|
{
|
|
long mRoundtripTime = 2000;
|
try {
|
//serverAddress = "www.baidu.com";
|
Ping pingSender = new Ping ();
|
PingOptions options = new PingOptions ();
|
|
// Use the default Ttl value which is 128,
|
// but change the fragmentation behavior.
|
options.Ttl = 150;
|
options.DontFragment = true;
|
|
// Create a buffer of 32 bytes of data to be transmitted.
|
//string data = "a";
|
byte [] buffer = Encoding.ASCII.GetBytes (string.Empty);
|
|
PingReply reply = pingSender.Send (serverAddress, 2000, buffer, options);
|
if (reply.Status == IPStatus.Success) {
|
Console.WriteLine ("Address: {0}", reply.Address.ToString ());
|
Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
|
Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
|
Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
|
Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
|
mRoundtripTime = reply.RoundtripTime;
|
}
|
|
|
} catch (Exception ex) {
|
System.Console.WriteLine ($"Ping catch:{ex.ToString()}");
|
}
|
|
return mRoundtripTime;
|
//Console.ReadKey ();
|
}
|
|
# region EmqMqtt 部分
|
//***************************EmqMqtt 部分********************************
|
public static string API_HangZhouHdlCloudApi = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/EmqMqtt/";
|
|
/// <summary>
|
/// 客户端确定选择Emq服务器(默认没有选择则使用中国Emq服务器)
|
/// Connection
|
/// </summary>
|
public static string ConfirmSelectEmqRegion = API_HangZhouHdlCloudApi + "ConfirmSelectEmqRegion";
|
|
|
/// <summary>
|
/// 客户端获取关联的所有成员帐号信息
|
/// Connection
|
/// </summary>
|
public static string GetShareMemberInfoPagger = API_HangZhouHdlCloudApi + "GetShareMemberInfoPagger";
|
|
/// <summary>
|
/// 客户端获取连接云端Mqtt信息
|
/// Connection
|
/// </summary>
|
public static string GetConnMqttInfo = API_HangZhouHdlCloudApi + "GetConnMqttInfo";
|
|
/// <summary>
|
/// 获取分享者Mqtt远程控制信息
|
/// Connection
|
/// </summary>
|
public static string GetShareMemberConnMqttInfo = API_HangZhouHdlCloudApi + "ShareMemberConnMqttInfo";
|
|
/// <summary>
|
/// 获取所有区Emq服务器信息列表
|
/// Connection
|
/// </summary>
|
public static string GetAllRegionEmqServerList = API_HangZhouHdlCloudApi + "GetAllRegionEmqServerList";
|
|
#endregion
|
}
|
|
#region RequestObj 部分
|
|
/// <summary>
|
/// BaseRequestObj
|
/// </summary>
|
[System.Serializable]
|
public class BaseRequestObj
|
{
|
public string RequestVersion = MainPage.CodeIDString;
|
|
public string RequestSource = MainPage.RequestSource;
|
|
public string LoginAccessToken;
|
}
|
|
[System.Serializable]
|
public class ConfirmSelectEmqRegionRequestObj: BaseRequestObj
|
{
|
/// <summary>
|
/// EMQ服务器Id
|
/// </summary>
|
public string EmqServerId;
|
}
|
|
|
|
#endregion
|
|
|
|
#region ResponseData 部分
|
|
[Serializable]
|
public class EmqServerInfoRes
|
{
|
public string Id { get; set; }
|
|
public string EmqDomainOrIp { get; set; }
|
|
public bool IsCurrentSelect { get; set; }
|
}
|
|
[Serializable]
|
public class EmqServerListInfoRes
|
{
|
public List<EmqServerInfoRes> PageData = new List<EmqServerInfoRes> ();
|
}
|
|
|
|
public class FindCityObj
|
{
|
/// <summary>
|
/// 城市ID
|
/// </summary>
|
public string Cid;
|
|
/// <summary>
|
///
|
/// </summary>
|
public string Location;
|
|
/// <summary>
|
/// 城市
|
/// </summary>
|
public string City;
|
|
/// <summary>
|
///
|
/// </summary>
|
public string Province;
|
|
/// <summary>
|
///
|
/// </summary>
|
public string Country;
|
|
|
/// <summary>
|
///
|
/// </summary>
|
public string TimeZone;
|
}
|
|
public class GetWeatherObj
|
{
|
|
|
public string Temperature;
|
|
/// <summary>
|
///
|
/// </summary>
|
public string Humidity;
|
|
/// <summary>
|
///
|
/// </summary>
|
public string PM25;
|
/// <summary>
|
///
|
/// </summary>
|
public string Weather;
|
|
}
|
|
/// <summary>
|
/// 提交极光推送ID
|
/// </summary>
|
public class AddRegIDObj
|
{
|
public string RegID;
|
public string Alias;
|
public string Account;
|
/// <summary>
|
/// 推送APP标识
|
/// 0 HDL ON
|
/// 1 ZigBee
|
/// 2 Control In
|
/// </summary>
|
public int UserMode;
|
|
}
|
|
/// <summary>
|
/// 提交刷新网关远程连接密码
|
/// </summary>
|
public class UpdateRemoteSwitchPasswordObj
|
{
|
public string Token;
|
public string MAC;
|
public string Password;
|
|
}
|
|
/// <summary>
|
/// 推送TokenID
|
/// </summary>
|
public class RegIDObj
|
{
|
public string RegID;
|
}
|
|
#endregion
|
}
|