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