Exemple #1
0
        private static void _PushClient_RegisterClientEnded(object sender, RegisterClientEndedEventArgs <int> e)
        {
            if (e.RegisterClientResponse.Success)
            {
                Console.WriteLine("Registration completed");
                _RegistrationOk = true;
            }
            else
            {
                Console.WriteLine("Registration failed");
            }

            Console.WriteLine();
            Console.WriteLine();
            _ResetEvent.Set();
        }
Exemple #2
0
        public async void ConnectAsync(AuthenticationToken <T> authToken)
        {
            await Task.Run(() =>
            {
                _AuthenticationToken = authToken;
                RegisterClientResponse RegisterClientRsp;

                try
                {
                    EventArgs OnRegisterClientEA = new EventArgs();
                    OnRegisterClientStarted(OnRegisterClientEA);

                    ConfigReader CR       = new ConfigReader();
                    _SocketClient         = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    IPAddress MyIPAddress = IPAddress.Parse(CR.Get(ConfigReaderKeys.KeyConnectIPAddress, Constants.DefaultConnectIPAddress));
                    IPEndPoint MyEndPoint = new IPEndPoint(MyIPAddress, CR.Get(ConfigReaderKeys.KeyConnectPort, Constants.DefaultConnectPort));
                    _SocketClient.Connect(MyEndPoint);

                    RegisterClient <T> RegisterClientMsg = new RegisterClient <T>();
                    RegisterClientMsg.AuthToken          = _AuthenticationToken;
                    SocketHelper.SendObject(_SocketClient, RegisterClientMsg);

                    //TODO: Timeout for response?
                    //TODO: Add messages history to response?
                    RegisterClientRsp = (RegisterClientResponse)SocketHelper.ReceiveObject(_SocketClient);

                    if (RegisterClientRsp.Success)
                    {
                        _ClientRunning = true;
                        ManagePushMessagesAsync();
                    }
                }
                catch
                {
                    RegisterClientRsp           = new RegisterClientResponse();
                    RegisterClientRsp.ErrorCode = -1;
                    RegisterClientRsp.Success   = false;
                    RegisterClientRsp.Message   = "Unable to connect to the server.";
                }

                RegisterClientEndedEventArgs <T> OnRegisterClientEndedEA = new RegisterClientEndedEventArgs <T>(RegisterClientRsp);
                OnRegisterClientEnded(OnRegisterClientEndedEA);

                return;
            });
        }
Exemple #3
0
        protected virtual void OnRegisterClientEnded(RegisterClientEndedEventArgs <T> e)
        {
            RegisterClientEndedDelegate handler = RegisterClientEnded;

            if (handler != null)
            {
                foreach (RegisterClientEndedDelegate singleCast in handler.GetInvocationList())
                {
                    ISynchronizeInvoke syncInvoke = singleCast.Target as ISynchronizeInvoke;
                    if ((syncInvoke != null) && (syncInvoke.InvokeRequired))
                    {
                        syncInvoke.Invoke(singleCast, new object[] { this, e });
                    }
                    else
                    {
                        singleCast(this, e);
                    }
                }
            }
        }