Exemplo n.º 1
0
        public void Dispose()
        {
            lock (this)
            {
                if (m_Dispose)
                {
                    return;
                }
                m_Dispose = true;
            }

            m_IsConnected = false;
            m_Kcp.Dispose();

            m_Kcp          = null;
            m_Socket       = null;
            m_Point        = null;
            m_OutputBuffer = null;
        }
Exemplo n.º 2
0
    public override void Dispose()
    {
        m_isRunning  = false;
        senderBuffer = null;
        recvThread.Abort();

        if (udpClient != null)
        {
            udpClient.Dispose();
            udpClient = null;
        }

        if (kcpClient == null)
        {
            return;
        }
        kcpClient.Dispose();
        kcpClient = null;

        State = EConnetState.EClosed;
    }
Exemplo n.º 3
0
        /// <summary>
        /// 初始化Kcp
        /// </summary>
        public void InitKcp()
        {
            //当这个Peer曾被使用过时,先释放它的Kcp,在重设
            if (Kcp != null)
            {
                Kcp.Dispose();
            }

            //初始化Kcp
            handle = new Handle(LocalSocket, Remote);
            Kcp    = new Kcp(Conv, handle);
            if (model == Model.FAST)
            {
                Kcp.NoDelay(1, 10, 2, 1);//fast
            }
            else
            {
                Kcp.NoDelay(0, 40, 0, 0);//normal
            }
            Kcp.WndSize(64, 64);
            Kcp.SetMtu(512);
        }