コード例 #1
0
ファイル: APIHandler.cs プロジェクト: zwx230741/ZeroTierOne
        public void GetStatus(StatusCallback cb)
        {
            var request = WebRequest.Create(url + "/status" + "?auth=" + authtoken) as HttpWebRequest;

            if (request != null)
            {
                request.Method      = "GET";
                request.ContentType = "application/json";
            }

            try
            {
                var httpResponse = (HttpWebResponse)request.GetResponse();
                if (httpResponse.StatusCode == HttpStatusCode.OK)
                {
                    using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                    {
                        var responseText = streamReader.ReadToEnd();

                        ZeroTierStatus status = null;
                        try
                        {
                            status = JsonConvert.DeserializeObject <ZeroTierStatus>(responseText);

                            if (ZeroTierAddress != status.Address)
                            {
                                ZeroTierAddress = status.Address;
                            }
                        }
                        catch (JsonReaderException e)
                        {
                            Console.WriteLine(e.ToString());
                        }
                        cb(status);
                    }
                }
                else if (httpResponse.StatusCode == HttpStatusCode.Unauthorized)
                {
                    APIHandler.initHandler(true);
                }
            }
            catch (System.Net.Sockets.SocketException)
            {
                cb(null);
            }
            catch (System.Net.WebException e)
            {
                HttpWebResponse res = (HttpWebResponse)e.Response;
                if (res != null && res.StatusCode == HttpStatusCode.Unauthorized)
                {
                    APIHandler.initHandler(true);
                }
                else
                {
                    cb(null);
                }
            }
        }
コード例 #2
0
 private void updateStatus(ZeroTierStatus status)
 {
     if (status != null)
     {
         Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() =>
         {
             nodeIdMenuItem.Header    = "Node ID: " + status.Address;
             nodeIdMenuItem.IsEnabled = true;
             nodeId = status.Address;
         }));
     }
 }
コード例 #3
0
        private void updateStatus(ZeroTierStatus status)
        {
            if (status != null)
            {
                Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() =>
                {
                    nodeIdMenuItem.Header    = "Node ID: " + status.Address;
                    nodeIdMenuItem.IsEnabled = true;
                    nodeId = status.Address;
                }));
            }

            if (CentralAPI.Instance.HasAccessToken())
            {
                newNetworkItem.IsEnabled = true;
            }
            else
            {
                newNetworkItem.IsEnabled = false;
            }
        }
コード例 #4
0
ファイル: APIHandler.cs プロジェクト: zielmicha/ZeroTierOne
        public ZeroTierStatus GetStatus()
        {
            var request = WebRequest.Create(url + "/status" + "?auth=" + authtoken) as HttpWebRequest;

            if (request != null)
            {
                request.Method      = "GET";
                request.ContentType = "application/json";
            }

            try
            {
                var httpResponse = (HttpWebResponse)request.GetResponse();
                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    var responseText = streamReader.ReadToEnd();

                    ZeroTierStatus status = null;
                    try
                    {
                        status = JsonConvert.DeserializeObject <ZeroTierStatus>(responseText);
                    }
                    catch (JsonReaderException e)
                    {
                        Console.WriteLine(e.ToString());
                    }
                    return(status);
                }
            }
            catch (System.Net.Sockets.SocketException)
            {
                return(null);
            }
            catch (System.Net.WebException)
            {
                return(null);
            }
        }
コード例 #5
0
ファイル: NetworkMonitor.cs プロジェクト: skunkwerks/zt
 private void apiStatusCallback(ZeroTierStatus status)
 {
     _stCb(status);
 }