# communication_t2stack **Repository Path**: openharmony-sig/communication_t2stack ## Basic Information - **Project Name**: communication_t2stack - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/openharmony-sig/communication_t2stack - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-01-08 - **Last Updated**: 2025-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚨 **重要提示 | IMPORTANT** > > **⚠️ 此代码仓已归档。新地址请访问 [communication_t2stack](https://gitcode.com/openharmony-sig/communication_t2stack)。| ⚠️ This repository has been archived. For the new address, please visit [communication_t2stack](https://gitcode.com/openharmony-sig/communication_t2stack).** > --- > # t2stack #### 介绍 t2stack是面向智能终端场景的极简网络协议栈及其配套中间件的统称,主要提供文件、流两大核心传输能力,且适配多种操作系统平台; 文件传输能力:主要针对文件分享和克隆场景,与应用之前使用的Linux内核协议栈相比,改用t2stack私有的创新型协议,可以提供在WIFI环境下比TCP更高的带宽利用率和更低的时延,并在文件传输中提供多种优化,如大小文件协同、小文件打包等用途。 流传输能力:主要针对视频流、音频流传输场景,实现半可靠传输、带宽评估码率自适应、弱网检测动态缓存等三大竞争力方案,优化用户体验。 #### 目录 t2stack主要代码目录结构如下: ```text //t2stack ├── fillp # 流传输协议代码 │   ├── include # VTP对外接口代码 │   ├── src # VTP核心代码 ├── nstackx_congestion # 拥塞算法相关公共模块 │   ├── interface # 对外接口 │   ├── core # 核心代码 │   ├── platform # 不同平台适配代码 ├── nstackx_core # 文件传输协议代码 │   ├── dfile # DFile协议代码 │   |   ├── include # DFile对外接口代码 │   |   ├── src # DFile核心代码 │   ├── platform # 不同平台适配代码 ├── nstackx_ctrl # ctrl组件 │   ├── interface # 对外接口 │   ├── core # 核心代码 │   ├── platform # 不同平台适配代码 ├── nstackx_util # 公共模块代码 │   ├── interface # 对外接口 │   ├── core # 核心代码 │   ├── platform # 不同平台适配代码 ``` #### 主要接口功能介绍 ##### 文件传输 1. 建立连接 NSTACKX_DFileServer:创建文件传输服务端 NSTACKX_DFileClient:创建文件传输客户端,连接到服务端 NSTACKX_DFileClose:关闭文件传输会话实例。 2. 传输文件 NSTACKX_DFileSendFiles:客户端发送文件 NSTACKX_DFileSetStoragePath:接收端设置接收文件存储根路径 NSTACKX_DFileSetRenameHook:接收端设置一个回调函数,对相同路径相同文件名的文件进行重命名,防止被覆盖 3. 获取和设置支持的功能 NSTACKX_DFileGetCapabilities:获取DFile支持的功能 NSTACKX_DFileSetCapabilities:设置DFile需要开启的功能 4. 交互流程 ![](figures/File_transfer_processes.png) ##### 流传输 1. 初始化和销毁 FtInit:使用前对Fillp进行初始化 FtDestroy:使用完对Fillp进行销毁 2. 建立连接 FtSocket:创建socket FtBind:服务端将socket与地址绑定 FtListen:服务端使socket进入监听 FtAccept:服务端开始接收客户端的连接 FtConnect:客户端调用此接口与服务端连接 3. 发送和接收 FtSendFrame:客户端调用此接口发送一个视频帧 FtRecv:接收端调用此接口接收视频帧 4. 关闭连接 FtClose:调用此接口来关闭连接 5. 交互流程 ![](figures/Stream_transfer_processes.png) ##### 更多、更详细的接口说明请参考接口说明文档