Esempio n. 1
0
 private void receive(object ServiceResponse)
 {
     if (ReceiveEventHandler != null)
     {
         ReceiveEventHandler.Invoke(this, ServiceResponse);
     }
 }
Esempio n. 2
0
 public void Working(ReceiveEventHandler receive = null)
 {
     FleckLog.Level = LogLevel.Debug;
     allSockets     = new List <IWebSocketConnection>();
     server         = new WebSocketServer("ws://0.0.0.0:7066");
     server.RestartAfterListenError = true;
     server.Start(socket =>
     {
         socket.OnOpen = () =>
         {
             allSockets.Add(socket);
             OnOpen?.BeginInvoke(socket, null, null);
         };
         socket.OnClose = () =>
         {
             allSockets.Remove(socket);
             OnClose?.BeginInvoke(socket, null, null);//通知断开
         };
         socket.OnMessage = message =>
         {
             receive?.BeginInvoke(message, socket, null, null);
         };
         socket.OnError = ex =>
         {
             OnError?.BeginInvoke(ex, socket, null, null);
         };
     });
 }
Esempio n. 3
0
        private void OnClientReceive(object sender, SocketReceiveEventArgs e)
        {
            ReceiveProcess(e.ReceiveData, e.ReceiveBytes);

            ReceiveEventHandler handler = OnReceiveMsg;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Esempio n. 4
0
        void Server_OnReceive(object sender, SocketReceiveEventArgs e)
        {
            AddLog(Log.Type.LOG_NOR, "Server Receive Id:{0}, Length:{1}", e.ID, e.ReceiveBytes);
            ReceiveProcess(e.ReceiveData, e.ReceiveBytes);

            ReceiveEventHandler handler = OnReceiveMsg;

            if (handler != null)
            {
                handler(this, e);
            }
        }
        public void Write(SocketMessager messager, ReceiveEventHandler receiveHandler, TimeSpan timeout)
        {
            SyncReceive syncReceive = null;

            try {
                if (receiveHandler != null)
                {
                    syncReceive = new SyncReceive(receiveHandler);
                    lock (this._receiveHandlers_lock) {
                        if (!this._receiveHandlers.ContainsKey(messager.Id))
                        {
                            this._receiveHandlers.Add(messager.Id, syncReceive);
                        }
                        else
                        {
                            this._receiveHandlers[messager.Id] = syncReceive;
                        }
                    }
                }
                if (this._running)
                {
                    lock (_write_lock) {
                        NetworkStream ns = this._tcpClient.GetStream();
                        base.WriteAsync(ns, messager);
                    }
                    this._lastActive = DateTime.Now;

                    if (syncReceive != null)
                    {
                        syncReceive.Wait.Reset();
                        syncReceive.Wait.WaitOne(timeout);
                        syncReceive.Wait.Set();
                        lock (this._receiveHandlers_lock) {
                            this._receiveHandlers.Remove(messager.Id);
                        }
                    }
                }
            } catch (Exception ex) {
                this._running = false;
                this.OnError(ex);
                if (syncReceive != null)
                {
                    syncReceive.Wait.Set();
                    lock (this._receiveHandlers_lock) {
                        this._receiveHandlers.Remove(messager.Id);
                    }
                }
            }
        }
Esempio n. 6
0
        /// <summary>
        /// Constructor del objeto.
        /// </summary>
        public ConversorTCPIP()
        {
            //Inicialización de variables internas
            stm        = null;
            state1     = 0xF8;
            tcpclnt    = new TcpClient();
            myData     = new List <byte[]>();
            reh        = null;
            isReciving = false;

            //Creación
            bw_lectura                          = new BackgroundWorker();
            this.bw_lectura.DoWork             += new System.ComponentModel.DoWorkEventHandler(this.DoWork);
            this.bw_lectura.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.bck_RunWorkerCompleted);
        }
Esempio n. 7
0
        private void OnRequestReceive(IAsyncResult ar)
        {
            try
            {
                IPEndPoint remoteEndPoint = null;
                byte[]     bytes          = client.EndReceive(ar, ref remoteEndPoint);
                ReceiveEventHandler?.Invoke(bytes, remoteEndPoint);

                client.BeginReceive(OnRequestReceive, null);
            }
            catch (Exception)
            {
                //ingored
            }
        }
Esempio n. 8
0
        void SerialReceived(object sender, Serial_Port.SerialDataEventArgs e)
        {
            try
            {
                ReceiveProcess(e.Data, e.Data.Length);

                SocketReceiveEventArgs rev     = new SocketReceiveEventArgs(0, e.Data.Length, e.Data);
                ReceiveEventHandler    handler = OnReceiveMsg;

                if (handler != null)
                {
                    handler(this, rev);
                }
            }
            catch (Exception err)
            {
                AddLog(Log.Type.LOG_ERR, "SerialRecieved Error:{0}", err.Message);
            }
        }
Esempio n. 9
0
 /// <summary>
 /// Permite establecer una función a la que se llamará una vez que se han recibido datos, o bien el timeout de lectura ha expirado.
 /// </summary>
 /// <param name="funcionDelegada">Función delegada a la que se llamará llamada.</param>
 public void SetReceiveEventHandler(ReceiveEventHandler funcionDelegada)
 {
     reh = funcionDelegada;
 }
 private void Receive(Tout serviceResponse)
 {
     ReceiveEventHandler?.Invoke(this, serviceResponse);
 }
Esempio n. 11
0
 public SyncReceive(ReceiveEventHandler onReceive)
 {
     this._receiveHandler = onReceive;
     this._wait           = new ManualResetEvent(false);
 }
Esempio n. 12
0
 public void Write(SocketMessager messager, ReceiveEventHandler receiveHandler)
 {
     this.Write(messager, receiveHandler, TimeSpan.FromSeconds(20));
 }