public static async Task <ListenerContent> Connect(string uri, string valcookie, string xapp, string listenerName) { ClientWebSocket webSocket = null; var objListener = new ListenerContent(); try { webSocket = new ClientWebSocket(); webSocket.Options.SetRequestHeader("Cookie", valcookie); await webSocket.ConnectAsync(new Uri(uri), CancellationToken.None); var terminalListener = CreateListener(xapp, listenerName); objListener = JsonConvert.DeserializeObject <ListenerContent>(terminalListener); } catch (Exception ex) { Console.WriteLine("Exception: {0}", ex); } finally { if (webSocket != null) { webSocket.Dispose(); } lock (consoleLock) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("WebSocket Get Terminal closed."); Console.ResetColor(); } } return(objListener); }
public bool StartListen() { bool flag = false; string listenerName = "CWControllerScanResult_GUI"; if (this.comm.ListenersCtrl == null) { return(flag); } if (!this.comm.ListenersCtrl.Exists(listenerName, this.comm.PortName)) { ListenerContent content = this.comm.ListenersCtrl.Create(listenerName, this.comm.PortName); if (content != null) { content.DoUserWork.DoWork += new DoWorkEventHandler(this.frmInterferenceCWControllerScanResultDisplayQueueHandler); this._CWControllerScanResultList.Add(content.ListenerName); this.comm.ListenersCtrl.Start(listenerName, this.comm.PortName); flag = true; } return(flag); } this.comm.ListenersCtrl.Start(listenerName, this.comm.PortName); return(true); }
public static async Task <ListenerContent> ConnectCall(string uri, string valcookie, string xapp, string listenerName, string terminalId, string userCrm) { ClientWebSocket webSocket = null; var objListener = new ListenerContent(); try { webSocket = new ClientWebSocket(); webSocket.Options.SetRequestHeader("Cookie", valcookie); await webSocket.ConnectAsync(new Uri(uri), CancellationToken.None); var terminalListener = CreateListener(xapp, listenerName); RetrieveCurrentCalls(xapp, listenerName, terminalId); objListener = JsonConvert.DeserializeObject <ListenerContent>(terminalListener); await Task.WhenAll(Receive(webSocket, terminalId, userCrm), Send(webSocket)); } catch (Exception ex) { Console.WriteLine("Exception in receive - {0}", ex.Message); } finally { if (webSocket != null) { webSocket.Dispose(); } lock (consoleLock) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("WebSocket closed."); Console.ResetColor(); } } return(objListener); }
internal void StartListeners() { if (((this.comm != null) && this.comm.IsSourceDeviceOpen()) && (this.frmMessageFilterMsgIdTxtBox.Text.Length != 0)) { string[] strArray = this.frmMessageFilterMsgIdTxtBox.Text.Replace(" ", "").Split(new char[] { '%' }); List <string[]> list = new List <string[]>(); if (strArray.Length == 0) { MessageBox.Show("Not a valid format!", "ERROR!"); } else { foreach (string str2 in strArray) { string[] item = str2.Split(new char[] { ',' }); if (item.Length != 3) { MessageBox.Show("Not a valid format: " + str2, "ERROR!"); return; } int num = 0; foreach (string str3 in item) { bool flag = false; if (str3 != "-1") { uint num2; if ((!uint.TryParse(str3, out num2) || (num2 < 0)) || (num2 > 0xff)) { flag = true; } else if ((num2 == 0) && (num != 2)) { flag = true; } if (flag) { MessageBox.Show("Not a valid format: " + str3, "ERROR!"); return; } } num++; } list.Add(item); } string text = this.Text; int num3 = 1; foreach (string[] strArray3 in list) { string listenerName = text + num3.ToString(); ListenerContent content = this.comm.ListenersCtrl.Create(listenerName, 0, Convert.ToInt32(strArray3[0]), Convert.ToInt32(strArray3[1]), Convert.ToInt32(strArray3[2]), this.comm.PortName); if (content != null) { content.DoUserWork.DoWork += new DoWorkEventHandler(this.frmMessageFilterQueueHandler); num3++; this._messageFilterQNames.Add(content.ListenerName); this.comm.ListenersCtrl.Start(content.ListenerName, this.comm.PortName); } } this.rtbDisplay.Text = "Message Filter started\r\n"; this.startToolStripMenuItem.Enabled = false; this.stopToolStripMenuItem.Enabled = true; this.frmMessageFilterMsgIdTxtBox.Enabled = false; this.frmMessageFilterStatusLabel.Text = "running ..."; } } }