Beispiel #1
0
        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);
        }
Beispiel #3
0
        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 ...";
         }
     }
 }