Exemplo n.º 1
0
        protected override void OnDispose()
        {
            mConnectCallback = null;
            mRevMsgCallback  = null;

            if (mNetwork != null)
            {
                mNetwork.Dispose();
                mNetwork = null;
            }
        }
Exemplo n.º 2
0
        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;
        }