Пример #1
0
        private static IWebsocket CreateSocket()
        {
            bool open   = false;
            bool closed = true;

            IWebsocket obj    = Mock.Of <IWebsocket>();
            var        socket = Mock.Get(obj);

            socket.Setup(s => s.Close()).Returns(Task.FromResult(true)).Callback(() =>
            {
                var closing = socket.Object.IsOpen;
                open        = false; closed = true;
                if (closing)
                {
                    socket.Raise(s => s.OnClose += null);
                }
                OnClose?.Invoke(socket);
            });
            socket.Setup(s => s.IsOpen).Returns(() => open);
            socket.Setup(s => s.Send(It.IsAny <string>())).Callback(new Action <string>((data) =>
            {
                OnSend?.Invoke(socket, data);
            }));
            socket.Setup(s => s.IsClosed).Returns(() => closed);
            socket.Setup(s => s.Connect()).Returns(Task.FromResult(true)).Callback(() =>
            {
                socket.Setup(s => s.IsOpen).Returns(() => open);
                socket.Setup(s => s.IsClosed).Returns(() => closed);

                open = true; closed = false;
                socket.Raise(s => s.OnOpen += null);
                OnOpen?.Invoke(socket);
            });
            return(socket.Object);
        }
Пример #2
0
        private void SendCallBack(IAsyncResult asyncResult)
        {
            Socket socket = (Socket)asyncResult.AsyncState;

            socket.EndSend(asyncResult);
            OnSend?.Invoke(socket.RemoteEndPoint);
        }
Пример #3
0
 public void Send(Message message)
 {
     message.Send = true;
     message.To.Messages.Add(message);
     message.To.NewMessage(message);
     OnSend?.Invoke(this, new OnSendEventArgs(message.ReadMessage(this), message.From.Username, message.To.Username));
 }
Пример #4
0
 void ProcessSend(SocketAsyncEventArgs e)
 {
     if (OnSendCallback != null)
     {
         OnSendCallback.Invoke();
     }
 }
Пример #5
0
        protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            if (this._apiKey != null)
            {
                request.Headers.Add("X-Api-Key", this._apiKey);
            }

            IEndpoint endpoint = request.Properties.ContainsKey("Endpoint") ? (IEndpoint)request.Properties["Endpoint"] : null;

            if (endpoint?.RequireAuth == true || (authInfo != null))
            {
                if (!request.Headers.Contains("Authorization"))
                {
                    request.Headers.Add("Authorization", $"Bearer {authInfo.AccessToken}");
                }
            }

            //  Dispatch to on send listeners
            OnSend?.Invoke(this, request, endpoint);

            //
            HttpResponseMessage response = await base.SendAsync(request, cancellationToken);

            //  Dispatch to on response listeners
            OnResponse?.Invoke(this, response, endpoint);

            return(response);
        }
Пример #6
0
 public void Update(int pendingPackets)
 {
     if (pendingPackets == 0)
     {
         OnSend?.Invoke(0, _memory);
     }
 }
Пример #7
0
 private async void NewClient(Socket socket, int millisecondsDelay)
 {
     try
     {
         socket.Connect(address);
         OnConnect?.Invoke(this, new EventArgs());
     }
     catch (Exception exception)
     {
         OnConnectException?.Invoke(this, new ExceptionEventArgs(socket, exception));
     }
     while (true)
     {
         try
         {
             socket.Send(messageBuffer);
             OnSend?.Invoke(this, new EventArgs());
         }
         catch (Exception exception)
         {
             OnSendException?.Invoke(this, new ExceptionEventArgs(socket, exception));
         }
         await Task.Delay(millisecondsDelay);
     }
 }
Пример #8
0
        private void SendCallback(IAsyncResult ar)
        {
            // Retrieve the callback from the state object.
            OnSend onSend = (OnSend)ar.AsyncState;

            try {
                // Complete sending the data to the remote device.
                int bytesSent = sock.EndSend(ar);

                onSend.Invoke(bytesSent);
            } catch (Exception e) {
                LogUtil.Error("ClientSocket.SendCallback: " + e.ToString());

                onSend.Invoke(-1);
            }
        }
        // method send bijna volledig aangepast = Ondelivering kan invoke zijn als passedTime < totamTimeSendingInt is en OnSend als passedTime == totalTimeSendingInt
        private void Send()
        {
            // 10 "minutes" = 1 second

            Thread.Sleep(100);

            if (passedTime < totalTimeSendingInt)
            {
                passedTime++;
            }
            totalTimeSending    = currentDelivery.TravelTime * currentDelivery.Factor;
            totalTimeSendingInt = Decimal.ToInt32(totalTimeSending);
            remainingTime       = totalTimeSendingInt - passedTime;

            if (OnDelivering != null)
            {
                OnDelivering?.Invoke(this, new DeliveryEventArgs(passedTime, remainingTime, totalTimeSendingInt));
            }

            if (passedTime == totalTimeSendingInt)
            {
                if (OnSend != null)
                {
                    OnSend?.Invoke(this, new DeliveryEventArgs(passedTime, remainingTime, totalTimeSendingInt));
                }
            }
        }
Пример #10
0
 public static void Send <T>(T Event) where T : BaseEvent
 {
     if (EventList_.ContainsKey(Event.EventName))
     {
         ((EventListenerImpl <T>)EventList_[Event.EventName]).Trigger(Event);
         OnSend?.Invoke(Event);
     }
 }
Пример #11
0
        private void HandleOutput(long output)
        {
            _outputQueue.Enqueue(output);

            if (_outputQueue.Count == 3)
            {
                OnSend?.Invoke((int)_outputQueue.Dequeue(), new Packet(_outputQueue.Dequeue(), _outputQueue.Dequeue()));
            }
        }
 private void WorkThreadFunction()
 {
     while (true)
     {
         OnSpeed?.Invoke(this, Data.GetSpeed());
         OnHeartRate?.Invoke(this, Data.GetHeartRate());
         OnSend?.Invoke(this, 0);
         Thread.Sleep(1000);
     }
 }
Пример #13
0
        public async Task SendAsync(IClient toClient, string message, IClient fromClient)
        {
            if (toClient.WebSocket.State != WebSocketState.Open)
            {
                return;
            }
            await toClient.WebSocket.SendAsync(message);

            OnSend?.Invoke(this, new SocketSentEventArgs(toClient, fromClient, message));
        }
Пример #14
0
        /// <summary>
        /// 发送回调
        /// </summary>
        /// <param name="e">操作对象</param>
        private void ProcessSend(SocketAsyncEventArgs e)
        {
            if (e.SocketError != SocketError.Success)
            {
                return;
            }

            m_sendPool.Push(e);
            OnSend?.Invoke(e.RemoteEndPoint, e.BytesTransferred);
        }
Пример #15
0
 // notify about new send telegram
 public virtual void NotifySend(Telegram tel)
 {
     try
     {
         OnSend?.Invoke(tel);
     }
     catch (Exception e)
     {
         Log.AddLog(Log.Severity.EXCEPTION, Name, nameof(NotifyRcv), e.Message);
     }
 }
Пример #16
0
        protected override void Start()
        {
            base.Start();

            _btnSend.onClick.AddListener(() =>
            {
                OnSend?.Invoke();
            });

            _btnAlreadyAccount.onClick.AddListener(() =>
            {
                OnAlreadyAccount?.Invoke();
            });
        }
Пример #17
0
        public void SendMessage(User sender, Message message)
        {
            if (this == sender)
            {
                Console.WriteLine("Нельзя отправить сообщение отправителю.");
                return;
            }

            message.Sender   = sender;
            message.Reciver  = this;
            message.SendTime = DateTime.Now;

            OnSend?.Invoke(this, message);
            OnRecive?.Invoke(this, message);
        }
Пример #18
0
        private void SendCallBack(IAsyncResult asyncResult)
        {
            //Socket socket = (Socket)asyncResult.AsyncState;
            TCPConnection client = (TCPConnection)asyncResult.AsyncState;

            if (!client.Socket.Connected)
            {
                return;
            }

            client.Socket.EndSend(asyncResult);

            //if(OnSend != null)
            OnSend?.Invoke(client.Socket.RemoteEndPoint, responseData);
        }
Пример #19
0
        public async Task SendAsync(IClient toClient, string message, IClient fromClient)
        {
            try
            {
                if (toClient?.WebSocket == null || toClient.WebSocket.State != WebSocketState.Open)
                {
                    return;
                }
                await toClient.WebSocket.SendAsync(message);

                OnSend?.Invoke(this, new SocketSentEventArgs(toClient, fromClient, message));
            }
            catch (Exception e)
            {
                // most probable cause is a secondary thread disposing the client and the websocket before sending the message
                _logger.LogDebug($"Message to {toClient?.Id} from  {fromClient?.Id} has not been sent: {e}");
            }
        }
Пример #20
0
 private void SendAsync(byte[] messageBuffer, bool useExceptionList)
 {
     byte[] messageBytes = Buffer.AddSplitter(messageBuffer, 0);
     try
     {
         Socket.Send(messageBytes);
         OnSend?.Invoke(this, new EventArgs());
     }
     catch (Exception exception)
     {
         if (useExceptionList)
         {
             CheckException(exception);
         }
         else
         {
             OnSendException?.Invoke(this, new ExceptionEventArgs(Socket, exception));
         }
     }
 }
Пример #21
0
        /// <summary>
        /// Отправка сообщения
        /// </summary>
        public async Task Send(string sendingData)
        {
            if (curSocket.State != WebSocketState.Open)
            {
                return;
            }

            try
            {
                byte[] encoded = Encoding.UTF8.GetBytes(sendingData);
                await curSocket.SendAsync(new ArraySegment <byte>(encoded, 0, encoded.Length), WebSocketMessageType.Text, true, CancellationToken.None);

                OnSend?.Invoke(this, new SendEventArgs {
                    Data = data.ToString()
                });
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
Пример #22
0
 private void SendNotification(JObject payload, string deviceToken, BarkMessage barkMessage)
 {
     if (apnsBroker == null)
     {
         return;
     }
     if (deviceToken.Length != DeviceTokenLength)
     {
         return;
     }
     try
     {
         // 队列发送一个通知
         apnsBroker.QueueNotification(new ApnsNotification
         {
             DeviceToken = deviceToken,//这里的deviceToken是ios端获取后传递到数据库统一记录管理的,有效的Token才能保证推送成功
             Payload     = payload
         });
         OnSend?.Invoke(this, new SendEventArgs(payload, deviceToken, barkMessage));
     }
     catch (Exception) { }
 }
 private void TimerCallBack(object sender, ElapsedEventArgs e)
 {
     OnSend?.Invoke(this, 0);
 }
Пример #24
0
 public void Send(IMQTTMessage message)
 => OnSend?.Invoke(message);
Пример #25
0
 protected void FireOnSend(byte[] b, int length)
 {
     OnSend?.Invoke(this, b, length);
 }
Пример #26
0
 private void Send_Button_Click(object sender, RoutedEventArgs e)
 {
     OnSend?.Invoke(sender, e, Send_Msg);
 }
Пример #27
0
 protected void SendHandler(ClientMsgEventArgs e)
 {
     OnSend?.Invoke(this, e);
 }
Пример #28
0
 public new int Send(byte[] bytes)
 {
     OnSend?.Invoke(new SocketData(bytes));
     return(Send(bytes, bytes.Length, 0));
 }
Пример #29
0
 protected void SendHandler(ServerMsgEventArgs e)
 {
     OnSend?.Invoke(this, e);
 }
Пример #30
0
        protected override void OnSendBase(byte[] msg)
        {
            string data = Encoding.GetEncoding("Big5").GetString(msg);

            OnSend?.Invoke(data);
        }