public void Connect() { Close(); int result = ESocketError.NORMAL; string msg = null; try { DoConnect(); } catch (ObjectDisposedException ex) { result = ESocketError.ERROR_3; msg = ex.Message; mStatus = SOCKSTAT.CLOSED; } catch (Exception ex) { result = ESocketError.ERROR_4; msg = ex.Message; mStatus = SOCKSTAT.CLOSED; } finally { if (result != ESocketError.NORMAL && mOnConnect != null) { HjNetworkEvt _evt = new HjNetworkEvt(this, result, msg, mOnConnect); AddNetworkEvt(_evt); } } }
protected void AddNetworkEvt(HjNetworkEvt evt) { lock (mNetworkEvtLock) { mNetworkEvtList.Add(evt); } }
protected virtual void OnConnected() { StartAllThread(); mStatus = SOCKSTAT.CONNECTED; string msg = "Connected successful"; if (mOnConnect != null) { HjNetworkEvt _evt = new HjNetworkEvt(this, ESocketError.NORMAL, msg, mOnConnect); AddNetworkEvt(_evt); } }
private void UpdateEvt() { lock (mNetworkEvtLock) { try { for (int i = 0; i < mNetworkEvtList.Count; ++i) { HjNetworkEvt evt = mNetworkEvtList[i]; evt.evtHandle(evt.sender, evt.result, evt.msg); } } catch (Exception e) { Logger.LogError("Got the f*****g exception :" + e.Message); } finally { mNetworkEvtList.Clear(); } } }
public virtual void Close() { if (mClientSocket == null) { return; } mStatus = SOCKSTAT.CLOSED; try { DoClose(); int result = ESocketError.ERROR_5; string msg = "Disconnected!"; HjNetworkEvt evt = new HjNetworkEvt(this, result, msg, mOnClosed); AddNetworkEvt(evt); } catch (Exception e) { ReportSocketError(ESocketError.ERROR_4, e.Message); } }