TouchSocket技术文档:安装指南与使用说明
·
TouchSocket技术文档:安装指南与使用说明
1. 安装指南
1.1 环境要求
- .NET Framework 4.5或更高版本
- .NET 6.0及以上版本
- .NET Standard 2.0或更高版本
1.2 支持的框架
- 控制台应用程序(Console)
- WPF/WinForm桌面应用
- Blazor/Xamarin/MAUI跨平台应用
- Avalonia/Mono框架
- Unity 3D(WebGL除外)
- 其他所有C#技术栈
1.3 NuGet安装方式
通过Visual Studio的NuGet包管理器控制台执行以下命令:
Install-Package TouchSocket
或通过.NET CLI安装:
dotnet add package TouchSocket
2. 项目使用说明
2.1 基础TCP服务端实现
TcpService service = new TcpService();
service.Connected = (client, e) => { return EasyTask.CompletedTask; }; //客户端连接事件
service.Closed = (client, e) => { return EasyTask.CompletedTask; }; //客户端断开事件
service.Received = (client, e) =>
{
string mes = e.ByteBlock.Span.ToString(Encoding.UTF8);
Console.WriteLine($"收到来自{client.Id}的消息:{mes}");
return EasyTask.CompletedTask;
};
await service.StartAsync(7789); //启动监听端口
2.2 基础TCP客户端实现
TcpClient tcpClient = new TcpClient();
tcpClient.Connected = (client, e) => { return EasyTask.CompletedTask; };
tcpClient.Closed = (client, e) => { return EasyTask.CompletedTask; };
tcpClient.Received = (client, e) =>
{
string mes = e.ByteBlock.Span.ToString(Encoding.UTF8);
Console.WriteLine($"收到消息: {mes}");
return EasyTask.CompletedTask;
};
await tcpClient.ConnectAsync("127.0.0.1:7789");
await tcpClient.SendAsync("Hello");
2.3 自动重连功能
.ConfigurePlugins(a=>
{
a.UseReconnection(5, true, 1000); //最大重试5次,每次间隔1秒
});
3. API使用文档
3.1 数据处理适配器
固定包头适配器(FixedHeaderPackageAdapter)
支持三种数据头模式:
- Byte模式(1+n):最大255字节
- Ushort模式(2+n):最大65535字节
- Int模式(4+n):最大2GB数据
// 设置字节序(默认小端)
TouchSocketBitConverter.DefaultEndianType = EndianType.Little;
自定义固定头适配器
适用于解析固定头格式的数据帧,如:
|1|1|1|**********|
自定义非固定头适配器
适用于HTTP等协议,通过实现简单接口即可完成复杂协议解析
3.2 核心API说明
- TcpService:TCP服务端核心类
- TcpClient:TCP客户端核心类
- ByteBlock:高效内存块操作类
- EasyTask:轻量级任务管理
4. 项目安装方式
4.1 开发环境准备
推荐使用:
- Visual Studio 2019/2022
- JetBrains Rider
- VS Code + C#插件
4.2 源码编译安装
- 克隆仓库:
git clone https://gitee.com/RRQM_Home/TouchSocket.git
- 使用Visual Studio打开解决方案文件
- 编译Release版本
- 引用生成的DLL或通过NuGet本地包源安装
4.3 Unity项目集成
- 将编译后的TouchSocket.dll放入Assets/Plugins目录
- 确保API Compatibility Level设置为.NET 4.x或.NET Standard 2.0
- 注意WebGL平台不支持
更多推荐



所有评论(0)