Beispiel #1
0
        protected virtual void OnPushMessageReceived(PushMessageReceivedEventArgs e)
        {
            PushMessageReceivedDelegate handler = PushMessageReceived;

            if (handler != null)
            {
                foreach (PushMessageReceivedDelegate 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);
                    }
                }
            }
        }
Beispiel #2
0
        public async void ManagePushMessagesAsync()
        {
            await Task.Run(() =>
            {
                bool ConnectionBroken = false;

                try
                {
                    while (_ClientRunning)
                    {
                        PushMessage pushMessage = SocketHelper.ReceiveObject(_SocketClient) as PushMessage;

                        if (pushMessage == null)
                        {
                            // Connection has been broken
                            _ClientRunning   = false;
                            ConnectionBroken = true;
                            break;
                        }

                        PushMessageReceivedEventArgs e = new PushMessageReceivedEventArgs(pushMessage);
                        OnPushMessageReceived(e);
                    }
                }
                catch (ObjectDisposedException)
                {
                    ConnectionBroken = true;
                    System.Diagnostics.Trace.WriteLine("The socket has been closed.");
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Trace.WriteLine(ex.Message);
                }

                if (ConnectionBroken)
                {
                    EventArgs OnConnectionClosedEA = new EventArgs();
                    OnConnectionClosed(OnConnectionClosedEA);
                }
            });
        }
Beispiel #3
0
 private static void _PushClient_PushMessageReceived(object sender, PushMessageReceivedEventArgs e)
 {
     Console.WriteLine("Received message: " + e.PushMessage.Message);
 }