private void CheckClientOverRange() { int over = this._tokens.Count - this._maxClient; for (int i = 0; i < over; i++) { KCPUserToken token = this._tokens[this._tokens.Count - 1]; token.MarkToDisconnect("Client overrange", SocketError.SocketError); } }
internal void SendTo(KCPUserToken token, byte[] data, int offset, int size, EndPoint endPoint) { if (this._socket == null) { return; } try { this._socket.SendTo(data, offset, size, SocketFlags.None, endPoint); } catch (ObjectDisposedException) { } catch (SocketException e) { token.MarkToDisconnect(e.ToString(), e.SocketErrorCode); } }