public void OnError(string error)
 {
     if (HandleError == null)
     {
         Logger.Debug($"{nameof(HandleError)}没添加事件!");
     }
     else
     {
         HandleError.Invoke(error);
     }
 }
 override protected void OnClose(List <Exception> exceptions)
 {
     base.OnClose(exceptions);
     if (HandleError != null)
     {
         foreach (var e in exceptions)
         {
             HandleError.Invoke(this, e);
         }
     }
 }
Example #3
0
 /// <summary>
 /// 发送字节
 /// </summary>
 public void Send(string EndpointString, byte[] bytes)
 {
     try
     {
         IWebSocketSession session = server.WebSocketServices["/"].Sessions.Sessions.Where(x => { return(x.Context.UserEndPoint.ToString() == EndpointString); }).FirstOrDefault();
         server.WebSocketServices["/"].Sessions.SendToAsync(System.Text.Encoding.Default.GetString(bytes), session.ID, null);
     }
     catch (Exception ex)
     {
         HandleError?.Invoke(ex.StackTrace);
     }
 }
Example #4
0
 public void OnError(FacebookException error)
 {
     try
     {
         App.UpdateLoading(true);
         HandleError?.Invoke(error);
     }
     catch (Exception e)
     {
         // ignored
     }
     finally
     {
         App.UpdateLoading(false);
     }
 }
        private void HandlePackage(Package package)
        {
            switch (package.PackageType)
            {
            case PackageType.ConnectionRequest:

                var response = (bool)HandleRequest?.Invoke();
                SendConnectionResponse(response);

                if (response)
                {
                    broadcastThread = new Thread(BroadcastScreen);
                    broadcastThread.Start();
                }

                break;

            case PackageType.ConnectionResponse:

                var isAllowed = (package as ConnectionResponsePackage).IsAllowed;

                if (!isAllowed)
                {
                    HandleError?.Invoke("Пользователь отказал вам в соединении.");
                    Disconnect();
                }

                break;

            case PackageType.ImagePackage:

                var image = (package as ImagePackage).Screenshot;

                UpdateDisplay?.Invoke(image);

                break;

            case PackageType.MouseInfoPackage:

                var parameters = (package as MouseInfoPackage).MouseParameters;

                MouseOperationsUtility.DoMouseEvent(parameters);

                break;
            }
        }
Example #6
0
        public async Task StartServicesAsync()
        {
            foreach (var srv in m_ServiceLocator.GetServices())
            {
                try
                {
                    await srv.Start();
                }
                catch (Exception ex)
                {
                    if (HandleError?.Invoke(ex) == false)
                    {
                        ServicesLaunchTerminated?.Invoke();
                        return;
                    }
                }
            }

            ServicesLaunchCompleted?.Invoke();
        }
        private void ReceivePackages()
        {
            const int MAX_WAITING_TIME = 100;
            int       waitingTime      = 0;

            while (clientSocket.Connected)
            {
                var stream = new MemoryStream();

                try
                {
                    waitingTime++;

                    do
                    {
                        var data          = new byte[BUFF_SIZE];
                        int receivedBytes = clientSocket.Receive(data);
                        stream.Write(data, 0, receivedBytes);
                    }while (clientSocket.Available > 0);

                    if (stream.Length > 0)
                    {
                        waitingTime = 0;

                        Package package = serializer.Deserialize(stream.ToArray()) as Package;
                        HandlePackage(package);
                    }

                    if (waitingTime >= MAX_WAITING_TIME)
                    {
                        throw new SocketException();
                    }
                }
                catch
                {
                    HandleError?.Invoke("Соединение было разорвано. " + Port.ToString());
                    Disconnect();
                }
            }
        }
Example #8
0
 public void OnError(FacebookException error)
 {
     HandleError?.Invoke(error);
 }
Example #9
0
 public void LogError(string message)
 {
     HandleError?.Invoke(message);
 }