SendFile(Player client, string filePath, int bufferSize = 50000)

    /// <summary>
    /// 发送文件, 客户端可以使用事件<see cref="Client.ClientBase.OnReceiveFileHandle"/>来监听并处理
    /// </summary>
    /// <param name="client"></param>
    /// <param name="filePath"></param>
    /// <param name="bufferSize">每次发送数据大小</param>
    /// <returns></returns>
    public bool SendFile(Player client, string filePath, int bufferSize = 50000)
    {
        var path1 = Path.GetDirectoryName(filePath);
        if (!Directory.Exists(path1))
        {
            Debug.LogError("文件不存在! 或者文件路径字符串编码错误! 提示:可以使用Notepad++查看, 编码是ANSI,不是UTF8");
            return false;
        }
        FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, bufferSize);
        var fileData = new FileData
        {
            ID = fileStream.GetHashCode(),
            fileStream = fileStream,
            fileName = Path.GetFileName(filePath),
            bufferSize = bufferSize
        };
        client.ftpDic.Add(fileData.ID, fileData);
        SendFile(client, fileData.ID, fileData);
        return true;
    }

最后更新于

这有帮助吗?