SendRT(Player client, byte cmd, byte[] buffer)

    /// <summary>
    /// 发送可靠网络传输, 可发送大数据流
    /// 调用此方法通常情况下是一定把数据发送成功为止,
    /// </summary>
    /// <param name="client"></param>
    /// <param name="cmd">网络命令</param>
    /// <param name="buffer"></param>
    public virtual void SendRT(Player client, byte cmd, byte[] buffer)
    {
        if (client.CloseSend)
            return;
        if (client.tcpRPCModels.Count >= ushort.MaxValue)
        {
            Debug.LogError($"[{client.UserID}]数据缓存列表超出限制!");
            return;
        }
        if (buffer.Length / MTU > ushort.MaxValue)
        {
            Debug.LogError("数据太大,请分块发送!");
            return;
        }
        client.tcpRPCModels.Enqueue(new RPCModel(cmd, buffer, false, false) { bigData = buffer.Length > short.MaxValue });
    }

最后更新于

这有帮助吗?