protected override void OnDispose() { mConnectCallback = null; mRevMsgCallback = null; if (mNetwork != null) { mNetwork.Dispose(); mNetwork = null; } }
public void Connect(string ip, int port) { if (mState == NetworkState.Connecting) { mLogger.LogInfo("mState = NetworkState.Connecting", "Network"); return; } if (mNetwork != null) { mNetwork.Dispose(); } if (RecodeDump) { try { if (mDumpCount < 1 && Directory.Exists(SaveDumpPath)) { Directory.Delete(SaveDumpPath, true); } } catch (Exception e) { mLogger.LogError("Network dump error: delete dump error, " + e, "mNetwork"); } } mNetwork = new NetworkThread(mBufferSize, mMsgPool); mNetwork.RecodeDump = RecodeDump; mNetwork.SendBeforCallback = SendBeforCallback; ActorCmd connectCmd = new ActorCmd(NetworkInCmd.Connect) { Param0 = ip, Param1 = port }; mNetwork.Input(connectCmd); mState = NetworkState.Connecting; }