/// <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(); } } }
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); }