首页 > 极客资料 博客日记
一个整合性、功能丰富的.NET网络通信框架
2024-10-26 09:30:03极客资料围观14次
这篇文章介绍了一个整合性、功能丰富的.NET网络通信框架,分享给大家做个参考,收藏极客之家收获更多编程知识
前言
最近有不少同学问:.NET网络通信框架有什么好推荐的吗?
今天大姚给大家分享一款基于Apache License开源的一个整合性、功能丰富的.NET(包括 C# 、VB.Net、F#)网络通信框架:TouchSocket。
特色功能
一键解决TCP黏分包问题,提供协议模板,支持快速实现固定包头、固定长度、区间字符等数据报文解析。
功能导图
功能模块
集成了socket、TCP、UDP、SSL、namedPipe、HTTP、WebSocket、RPC、JsonRPC、WebAPI、XMLRPC、Modbus等多种通信模块。
支持框架
Console、WPF、Winform、Blazor Server、Xamarin、MAUI、Avalonia、Mono、Unity 3D(除WebGL)等。
支持环境
.NET Framework 4.5及以上,.NET 6.0及以上,.NET Standard 2.0及以上。
项目源代码
简单使用示例
TcpService
TcpService service = new TcpService();
service.Connecting = (client, e) => {return EasyTask.CompletedTask; };//有客户端正在连接
service.Connected = (client, e) => {return EasyTask.CompletedTask; };//有客户端连接
service.Disconnected = (client, e) => {return EasyTask.CompletedTask; };//有客户端断开连接
service.Received = (client, e) =>
{
//从客户端收到信息
string mes = e.ByteBlock.ToString();
Console.WriteLine($"已从{client.Id}接收到信息:{mes}");
return EasyTask.CompletedTask;
};
service.Start(7789);//启动
TcpClient
TcpClient tcpClient = new TcpClient();
tcpClient.Connected = (client, e) => {return EasyTask.CompletedTask; };//成功连接到服务器
tcpClient.Disconnected = (client, e) => {return EasyTask.CompletedTask; };//从服务器断开连接,当连接不成功时不会触发。
tcpClient.Received = (client, e) =>
{
//从服务器收到信息
string mes = Encoding.UTF8.GetString(e.ByteBlock.Buffer, 0, e.ByteBlock.Len);
Console.WriteLine($"接收到信息:{mes}");
return EasyTask.CompletedTask;
};
tcpClient.Connect("127.0.0.1:7789");
tcpClient.Send("RRQM");
项目源码地址
更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。
优秀项目和框架精选
该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- Nuxt.js 应用中的 prerender:routes 事件钩子详解
- 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
- 六、Spring Boot集成Spring Security之前后分离认证流程最佳方案
- 《JVM第7课》堆区
- .NET 8 高性能跨平台图像处理库 ImageSharp
- 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
- 刚毕业,去做边缘业务,还有救吗?
- 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化
- 让性能提升56%的Vue3.5响应式重构之“版本计数”