public void Dispose()
        {
            lock (_async)
            {
                if (con != null)
                {
                    con.CloseConnect();
                }

                foreach (IGroup grp in _groups)
                {
                    grp.Dispose();
                }
                _closed = true;
            }
        }
Beispiel #2
0
        private void Btn_openConnect(object sender, RoutedEventArgs e)
        {
            if (IsConnected)
            {
                if (iConnectType != null)
                {
                    iConnectType.CloseConnect();
                }
                IsConnected = false;
                return;
            }

            string strProtocol  = cmbProtocolType.Text;
            string strIPAddress = cmbIpAddress.Text;

            switch (strProtocol)
            {
            case "UDP":
                iConnectType = new UDPConnect(strIPAddress, Port);
                break;

            case "Ping":
                iConnectType = new PingTest(strIPAddress);
                break;

            default:
                iConnectType = new UDPConnect(strIPAddress, Port);
                break;
            }

            iConnectType.GetRcvBufferEvent += DisPlayDataAsync;

            if (iConnectType.OpenConnect())
            {
                IsConnected = true;
            }
            else
            {
                IsConnected = false;
                return;
            }
        }