openharmony_ci 31448e0839 !35 merge master into master
添加 solution.py

Created-by: Agrant
Commit-by: Agrant
Merged-by: openharmony_ci
Description: 
添加 solution.py

See merge request: openharmony/communication_t2stack!35
2026-05-09 11:06:03 +08:00
2025-06-02 19:59:14 +08:00
2026-01-24 19:04:46 +08:00
2026-01-15 15:37:57 +08:00
2026-01-24 19:04:46 +08:00
2026-02-03 21:44:48 +08:00
2026-02-03 21:44:48 +08:00
2026-05-08 11:45:57 +08:00
2026-04-23 12:06:57 +08:00
2026-04-23 12:06:57 +08:00
2025-02-17 03:06:29 +00:00
2026-05-08 11:45:57 +08:00
2025-06-04 10:07:48 +08:00
2025-06-04 10:07:48 +08:00
2026-01-15 15:37:57 +08:00

t2stack

Description

t2stack is a collective name for the simplified network protocol stack and its supporting middleware for intelligent terminal scenarios. It mainly provides three core capabilities: file transmission, audio and video stream transmission, and device discovery, while being compatible with various operating system platforms.

File transfer capability: Mainly for file transfer, and provide a variety of optimizations in file transfer, such as large and small file collaboration, small file packaging and other purposes.

Streaming capability: Mainly for video streaming and audio streaming scenarios, it implements three competitive solutions, including semi-reliable transmission, adaptive bandwidth evaluation bitrate, and dynamic caching for weak network detection, to optimize user experience.

Device discovery capability: It mainly provides the ability to discover between devices in the local area network, and realizes reliable unicast, power-reducing filtering, and scalable packet structure.

System Architecture

Instructions

t2stack main code directory structure is as follows

//t2stack
├── fillp                  # Streaming protocol code
│   ├── include            # Dstream External interface code
│   ├── src                # Dstream Core code
├── nstackx_congestion     # congestion algorithms public module
│   ├── interface          # External interface code
│   ├── core               # Core code
│   ├── platform           # Adaptation code for different platforms
├── nstackx_core           # File transfer protocol code
│   ├── dfile              # DFile protocol code
│   |   ├── include        # DFile External interface code
│   |   ├── src            # DFile Core code
│   ├── platform           # Adaptation code for different platforms
├── nstackx_ctrl           # ctrl module
│   ├── interface          # External interface code
│   ├── core               # Core code
│   ├── platform           # Adaptation code for different platforms
├── nstackx_util           # public module
│   ├── interface          # External interface code
│   ├── core               # Core code
│   ├── platform           # Adaptation code for different platforms

Introduction to the main interface functions

File Transfer

1. Set up a connection.

Step 1: NSTACKX_DFileServer: Create a file transfer server.
Step 2: NSTACKX_DFileClient: Create a file transfer client and connect it to the server.

2. Close the connection.

NSTACKX_DFileClose: closes a file transfer session instance.

3. Transferring Files

NSTACKX_DFileSendFiles: The client sends a file.
NSTACKX_DFileSetStoragePath: Sets the root path for storing received files on the recipient side.
NSTACKX_DFileSetRenameHook: The receiver sets a callback function to rename the file with the same name in the same path to prevent the file from being overwritten.

4. Obtains and sets supported functions.

NSTACKX_DFileGetCapabilities: Obtains the functions supported by the DFile.
NSTACKX_DFileSetCapabilities: Sets the functions to be enabled for the DFile.

5. Interaction Process

Stream Transfer

1. Initialization and Destruction

FtInit: Initializes Fillp before use.
FtDestroy: Destroys Fillp after use.

2. Establish a connection.

FtSocket: creates a socket.
FtBind: The server binds the socket to the address.
FtListen: The server enables the socket to enter the listening state.
FtAccept: The server starts to receive the connection request from the client.
FtConnect: The client invokes this interface to connect to the server.

3. Sending and Receiving

FtSendFrame: The client invokes this interface to send a video frame.
FtRecv: The receiver calls this interface to receive video frames.

4. Close the connection.

FtClose: This interface is invoked to close a connection.

5. Interaction Process

For more information about APIs, see API Documentation

Interface doc of t2stack

S
Description
暂无描述
Readme Apache-2.0 6.5 MiB
Languages
C 90.8%
C++ 7.8%
Python 1.4%