public override void Perform(UFEPacket resp) { ReceivedHandler handler = null; try { if (resp != null && !resp.HasError) { //log.Info("Perform success handler"); handler = SuccessHandler; HandleResponseSuccess(resp); } else { handler = FailHandler; //log.Info("Perform fail handler: resp null or resp.HasError"); HandleResponseFail(resp); } OnHandler(resp, handler); } catch (Exception ex) { Log.Error(ex.Message, ex); } }
protected virtual void OnHandler(UFEPacket resp, ReceivedHandler handler) { //if (resp.Id > 0) //{ // UFEFuture.OnCompleted(resp); // return; //} if (handler != null) { ISynchronizeInvoke hwnd = handler.Target as ISynchronizeInvoke; if (hwnd != null) { if (hwnd.InvokeRequired) { hwnd.Invoke(handler, new object[] { resp }); } else { handler.DynamicInvoke(resp); } } else { var old = CheckForIllegalCrossThreadCalls; CheckForIllegalCrossThreadCalls = false; handler.DynamicInvoke(resp); CheckForIllegalCrossThreadCalls = old; } } }
public DataChannel( short channelID, QosType qos, Compression compression, Encryption encryption, ReceivedHandler onReceived, CheckMode checkMode = CheckMode.Sequre ) { ChannelID = channelID; Qos = qos; Compression = compression; Encryption = encryption; OnReceived += onReceived; CheckMode = checkMode; converter = DataSerializer.GetConverter(typeof(T)); if (Compression == Compression.LZ4) { byteArrayConverter = DataSerializer.GetConverter(typeof(byte[])); } if (Encryption == Encryption.Rsa || Encryption == Encryption.Aes) { encArrayConverter = DataSerializer.GetConverter(typeof(byte[])); } }
public void Initialize(ReceivedHandler receivedEventHandler, SendingHandler sendingEventHandler) { sendArgs.UserToken = this; receiveArgs.UserToken = this; sendArgs.Completed += new EventHandler <SocketAsyncEventArgs>(SendCallback); receiveArgs.Completed += new EventHandler <SocketAsyncEventArgs>(ReceiveCallback); handleReceived = receivedEventHandler; handleSending = sendingEventHandler; }
public DataChannel(short channelID, QosType qos, Compression compression, ReceivedHandler onReceived) { ChannelID = channelID; Qos = qos; Compression = Compression; OnReceived += onReceived; converter = DataSerializer.GetConverter(typeof(T)); lz4converter = DataSerializer.GetConverter(typeof(byte[])); }
public void ListenMessage(object o, ReceivedEventArgs e) { if (this.PacketView.InvokeRequired) { ReceivedHandler method = new ReceivedHandler(this.ListenMessage); base.Invoke(method, new object[] { o, e }); return; } byte[] data = e.Data; int num = data.Length; bool @checked = this.cbAutoSend.Checked; string text = string.Concat(o); if (@checked) { this.commServer.Send(text, data, data.Length); } if (this.PacketView.Items.Count > 200) { this.PacketView.Items.Clear(); } ListViewItem listViewItem = this.PacketView.Items.Insert(0, string.Concat(this.PacketView.Items.Count)); listViewItem.SubItems.Add(text ?? ""); listViewItem.SubItems.Add(e.RemoteHost.ToString() ?? ""); string text2 = ParseUtil.ParseString(data, num); if (this.rbUTF8.Checked) { text2 = ParseUtil.ParseStringByUTF8(data, num); } else if (this.rbHex.Checked) { text2 = ParseUtil.ToHexString(data, num); } string text3 = DateTime.Now.ToString("HH:mm:ss"); listViewItem.SubItems.Add(text3); listViewItem.SubItems.Add(text2); listViewItem.SubItems.Add(string.Concat(num)); if (this.cbLog.Checked) { ServerForm.logger.Info(e.RemoteHost.ToString() + " " + text2); } }
public RawDataChannel( short channelID, QosType qos, Compression compression, ReceivedHandler onReceived, CheckMode checkMode = CheckMode.Sequre ) { ChannelID = channelID; Qos = qos; Compression = compression; OnReceived += onReceived; CheckMode = checkMode; converter = DataSerializer.GetConverter(typeof(T)); lz4converter = DataSerializer.GetConverter(typeof(byte[])); }
public void ListenMessage(object o, ReceivedEventArgs e) { if (this.PacketView.InvokeRequired) { try { ReceivedHandler method = new ReceivedHandler(this.ListenMessage); base.Invoke(method, new object[] { o, e }); return; } catch (Exception ex) { logger.Error(ex.Message); logger.Error(ex.StackTrace); return; } } if (this.PacketView.Items.Count > 200) { this.PacketView.Items.Clear(); } ListViewItem listViewItem = this.PacketView.Items.Insert(0, string.Concat(this.PacketView.Items.Count)); int num = e.Data.Length; string text = DateTime.Now.ToString("HH:mm:ss"); listViewItem.SubItems.Add(text); string text2 = ParseUtil.ParseString(e.Data, num); if (this.rbHex.Checked) { text2 = ParseUtil.ToHexString(e.Data, num); } if (this.rbUTF8.Checked) { text2 = System.Text.Encoding.UTF8.GetString(e.Data);//ParseUtil.ToHexString(e.Data, num); } listViewItem.SubItems.Add(text2); listViewItem.SubItems.Add(string.Concat(num)); if (this.cbLog.Checked) { logger.Info(e.RemoteHost.ToString() + " " + text2); } }
public void ListenMessage(object o, ReceivedEventArgs e) { if (PacketView.InvokeRequired) { ReceivedHandler d = new ReceivedHandler(ListenMessage); this.Invoke(d, new object[] { o, e }); } else { byte[] data = e.Data; int length = data.Length; Boolean isEcho = this.cbAutoSend.Checked; string connId = "" + o; if (isEcho) { commServer.Send(connId, data, data.Length); } if (PacketView.Items.Count > 200) { PacketView.Items.Clear(); } ListViewItem item = PacketView.Items.Insert(0, "" + PacketView.Items.Count); item.SubItems.Add("" + connId); item.SubItems.Add("" + e.RemoteHost.ToString()); string msg = ParseUtil.ParseString(data, length); if (rbHex.Checked) { msg = ParseUtil.ToHexString(data, length); } string strDate = DateTime.Now.ToString("HH:mm:ss"); item.SubItems.Add(strDate); item.SubItems.Add(msg); item.SubItems.Add("" + length); if (cbLog.Checked) { logger.Info(e.RemoteHost.ToString() + " " + msg); } //item.SubItems.Add("" + msg.MsgContentDesc); } }
public void ListenMessage(object o, ReceivedEventArgs e) { if (PacketView.InvokeRequired) { try { ReceivedHandler d = new ReceivedHandler(ListenMessage); this.Invoke(d, new object[] { o, e }); } catch (System.Exception ex) { logger.Error(ex.Message); logger.Error(ex.StackTrace); } } else { if (PacketView.Items.Count > 200) { PacketView.Items.Clear(); } ListViewItem item = PacketView.Items.Insert(0, "" + PacketView.Items.Count); int length = e.Data.Length; string strDate = DateTime.Now.ToString("HH:mm:ss"); item.SubItems.Add(strDate); string msg = ParseUtil.ParseString(e.Data, length); if (rbHex.Checked) { msg = ParseUtil.ToHexString(e.Data, length); } item.SubItems.Add(msg); item.SubItems.Add("" + length); if (cbLog.Checked) { logger.Info(e.RemoteHost.ToString() + " " + msg); } //item.SubItems.Add("" + msg.MsgContentDesc); } }
public override RunningProcess ExecuteCommand(NodeCommand cmd) { var cmdLine = $"{cmd.FileName} {string.Join(" ", cmd.Arguments)}"; cmd.Output.LogDebug("SSH: " + cmdLine); using var command = SshClient.CreateCommand(cmdLine); // hacky: https://stackoverflow.com/questions/37059305/c-sharp-streamreader-readline-returning-null-before-end-of-stream var result = command.BeginExecute(); var channelField = command.GetType().GetField("_channel", BindingFlags.Instance | BindingFlags.NonPublic); var channel = channelField.GetValue(command); var receivedEvent = channel.GetType().GetEvent("DataReceived", BindingFlags.Instance | BindingFlags.Public); var extendedDataEvent = channel.GetType().GetEvent("ExtendedDataReceived", BindingFlags.Instance | BindingFlags.Public); using var handler = new ReceivedHandler(cmd.Output); using var handler2 = new ExtendedReceivedHandler(cmd.Output); // add event handler here receivedEvent.AddEventHandler(channel, Delegate.CreateDelegate(receivedEvent.EventHandlerType, handler, handler.GetType().GetMethod("OnReceive"))); extendedDataEvent.AddEventHandler(channel, Delegate.CreateDelegate(extendedDataEvent.EventHandlerType, handler2, handler2.GetType().GetMethod("OnReceive"))); result.AsyncWaitHandle.WaitOne(); var procResult = new ProcessResult { ExitCode = command.ExitStatus, Completed = true, }; return(new RunningProcess { StartedTask = Task.FromResult(true), CompletedTask = Task.FromResult(procResult), StartedOutput = Task.CompletedTask, }); }
public void ListenMessage(object o, ReceivedEventArgs e) { if (PacketView.InvokeRequired) { ReceivedHandler d = new ReceivedHandler(ListenMessage); this.Invoke(d, new object[] { o, e}); } else { byte[] data = e.Data; int length = data.Length; Boolean isEcho = this.cbAutoSend.Checked; string connId = "" + o; if (isEcho) { commServer.Send(connId, data, data.Length); } if (PacketView.Items.Count > 200) PacketView.Items.Clear(); ListViewItem item = PacketView.Items.Insert(0, "" + PacketView.Items.Count); item.SubItems.Add("" + connId); item.SubItems.Add("" + e.RemoteHost.ToString()); string msg = ParseUtil.ParseString(data, length); if (rbHex.Checked) { msg = ParseUtil.ToHexString(data, length); } string strDate = DateTime.Now.ToString("HH:mm:ss"); item.SubItems.Add(strDate); item.SubItems.Add(msg); item.SubItems.Add("" + length); if (cbLog.Checked) { logger.Info(e.RemoteHost.ToString() + " " + msg); } //item.SubItems.Add("" + msg.MsgContentDesc); } }
public void ListenMessage(object o, ReceivedEventArgs e) { if (PacketView.InvokeRequired) { try { ReceivedHandler d = new ReceivedHandler(ListenMessage); this.Invoke(d, new object[] {o, e }); } catch (System.Exception ex) { logger.Error(ex.Message); logger.Error(ex.StackTrace); } } else { if (PacketView.Items.Count > 200) PacketView.Items.Clear(); ListViewItem item = PacketView.Items.Insert(0, "" + PacketView.Items.Count); int length = e.Data.Length; string strDate = DateTime.Now.ToString("HH:mm:ss"); item.SubItems.Add(strDate); string msg = ParseUtil.ParseString(e.Data, length); if (rbHex.Checked) msg = ParseUtil.ToHexString(e.Data, length); item.SubItems.Add(msg); item.SubItems.Add("" + length); if (cbLog.Checked) { logger.Info(e.RemoteHost.ToString() + " " + msg); } //item.SubItems.Add("" + msg.MsgContentDesc); } }
public void bind(Form1 f, Form2 f2) { receivedEvent += new ReceivedHandler(f.Afficher); this.f = f; this.f2 = f2; }