private void receive(object ServiceResponse) { if (ReceiveEventHandler != null) { ReceiveEventHandler.Invoke(this, ServiceResponse); } }
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); }; }); }
private void OnClientReceive(object sender, SocketReceiveEventArgs e) { ReceiveProcess(e.ReceiveData, e.ReceiveBytes); ReceiveEventHandler handler = OnReceiveMsg; if (handler != null) { handler(this, e); } }
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); } } } }
/// <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); }
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 } }
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); } }
/// <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); }
public SyncReceive(ReceiveEventHandler onReceive) { this._receiveHandler = onReceive; this._wait = new ManualResetEvent(false); }
public void Write(SocketMessager messager, ReceiveEventHandler receiveHandler) { this.Write(messager, receiveHandler, TimeSpan.FromSeconds(20)); }