跳到主要内容
TouchSocket
知行合一,从理论到实践的C#网络通讯组件库。
纸上得来终觉浅,绝知此事要躬行。
  • Apache-2.0 宽松开源协议,商业免费授权
  • 支持 .NET Framework 4.5及以上,.NET Standard2.0及以上
  • 轻量级设计,最小化依赖包
  • 开箱即用,几行代码即可构建网络应用
  • 高性能异步通讯,支撑海量并发连接
  • 丰富的协议支持:TCP、UDP、HTTP、WebSocket、MQTT等
  • 内置断线重连、心跳检测、流量控制等企业级特性
  • 完善的插件体系,灵活扩展业务逻辑
  • 详细的中文文档,丰富的示例代码
受支持平台:
var service = new TcpService();
service.Connected = (client, e) => { return EasyTask.CompletedTask; };//有客户端成功连接
service.Disconnected = (client, e) => { return EasyTask.CompletedTask; };//有客户端断开连接
service.Received = (client, e) =>
{
//从客户端收到信息
string mes = Encoding.UTF8.GetString(e.Memory.Span);
client.Logger.Info($"已从{client.Id}接收到信息:{mes}");
return EasyTask.CompletedTask;
};

await service.SetupAsync(new TouchSocketConfig()//载入配置
.SetListenIPHosts("tcp://127.0.0.1:7788", 7789)//同时监听两个地址
.ConfigureContainer(a =>
{
a.AddConsoleLogger();//添加一个控制台日志注入(注意:在maui中控制台日志不可用)
})
.ConfigurePlugins(a =>
{
//a.Add();//此处可以添加插件
}));
await service.StartAsync();//启动

开源免费/商业免费授权

⭐️ Apache-2.0 开源协议,代码在 Gitee/Github 平台托管 ⭐️

4000 +
Stars
1000 +
Forks
524,288
Downloads

🚀 核心特性

为现代C#应用程序提供全面的网络通讯解决方案

🔥 高性能架构

基于异步编程模型,支持数万并发连接,内存占用低,CPU效率高

🌐 协议丰富

支持TCP、UDP、HTTP、WebSocket、MQTT、Modbus等多种网络协议

🔧 企业级特性

内置断线重连、心跳检测、数据校验、流量控制等生产环境必备功能

🎯 易于使用

链式配置API,丰富的扩展点,几行代码即可构建复杂的网络应用

📚 完善文档

详细的中文文档,丰富的示例代码,活跃的社区支持

💡 插件生态

灵活的插件系统,支持自定义扩展,满足各种业务需求

💼 应用场景

TouchSocket广泛应用于各种行业和场景

🏭

工业自动化

PLC通讯、设备监控、数据采集、Modbus协议通讯

🌐

物联网平台

设备接入、MQTT消息传递、实时数据推送

💬

即时通讯

聊天系统、消息推送、实时协作应用

🎮

游戏开发

多人在线游戏、实时对战、游戏服务器

💰

金融交易

高频交易系统、实时行情推送、风控系统

🚗

车联网

车载终端通讯、GPS定位、远程诊断

⚡ 快速开始

三步即可开始你的网络编程之旅

1

安装包

通过NuGet包管理器安装TouchSocket

Install-Package TouchSocket
2

创建服务

几行代码创建TCP服务器

var service = new TcpService();
3

启动运行

配置并启动服务

await service.StartAsync(7789);
开始使用 TouchSocket →