/// <summary>
        /// 初始化连接调用
        /// </summary>
        public void ConnectCtrller(string ip, int port)
        {
            try
            {
                _ip   = ip;
                _port = port;
                hzaux.InitializeUdp(ip, port);
                InitializeReadData();
                netSucceed = true;



                backworkerRead = new BackgroundWorker();
                backworkerRead.WorkerSupportsCancellation = true;
                backworkerRead.DoWork += ReadWork;    //被动读取使用
                backworkerRead.RunWorkerAsync();

                backworkerWrite = new BackgroundWorker();
                backworkerWrite.WorkerSupportsCancellation = true;
                backworkerWrite.DoWork += WriteWork;    //主动读写
                backworkerWrite.RunWorkerAsync();
            }
            catch
            {
                if (!backworkerConnect.IsBusy)
                {
                    backworkerConnect.RunWorkerAsync();
                }
            }
        }
예제 #2
0
        public bool ConnectCtrller(string ip, int port)
        {
            bool rt = false;

            if (_comNet != null)
            {
                try
                {
                    _comNet.Dispose();
                    _comNet.InitializeUdp(ip, port);
                    ResetSpecialBaseData();
                    _netConnected = true;
                }catch (System.Exception ex)
                {
                    _netConnected = false;
                }
            }

            if (_netConnected)
            {
                _netWorkState = true;

                _bkgrdwkForGeneralBaseData = new System.ComponentModel.BackgroundWorker();
                _bkgrdwkForGeneralBaseData.WorkerSupportsCancellation = true;
                _bkgrdwkForGeneralBaseData.DoWork             += _bkgrdwkForGeneralBaseData_DoWork;
                _bkgrdwkForGeneralBaseData.RunWorkerCompleted += _bkgrdwkForGeneralBaseData_RunWorkerCompleted;
                _bkgrdwkForGeneralBaseData.RunWorkerAsync();

                _bkgrdwkForSpecialBaseData = new System.ComponentModel.BackgroundWorker();
                _bkgrdwkForSpecialBaseData.WorkerSupportsCancellation = true;
                _bkgrdwkForSpecialBaseData.DoWork             += _bkgrdwkForSpecialBaseData_DoWork;
                _bkgrdwkForSpecialBaseData.RunWorkerCompleted += _bkgrdwkForSpecialBaseData_RunWorkerCompleted;
                _bkgrdwkForSpecialBaseData.RunWorkerAsync();
                rt = true;
            }
            else
            {
                _netWorkState = false;
            }

            return(rt);
        }