首页 > 其他分享 >一个整合性、功能丰富的.NET网络通信框架

一个整合性、功能丰富的.NET网络通信框架

时间:2024-10-31 12:15:37浏览次数:3  
标签:return service EasyTask 整合性 client CompletedTask 功能丰富 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");

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看

标签:return,service,EasyTask,整合性,client,CompletedTask,功能丰富,NET
From: https://blog.csdn.net/qq_37237487/article/details/143377410

相关文章

  • 管中窥豹----.NET Core到.NET 8 托管堆的变迁
    https://www.cnblogs.com/lmy5215006/p/18515971 在研究.NETString底层结构时,我所观察到的情况与《.NETCore底层入门》,《.NET内存管理宝典》书中描述不符。故多研究了一下。发现.NET托管堆的结构也是越来越多,越来越高性能。 //示例代码internalclassProgram{......
  • BitNet.cpp:革新性的1比特LLM推理框架,让CPU也能驾驭百亿参数大模型!
    ......
  • 会员权益上新: OneThingAI 算力云给园子会员送算力
    和厂商合作给会员送福利,是我们拓展会员权益的一个方向。最近我们和算力云服务商OneThingAI达成了合作,OneThingAI给园子的会员提供了不少代金券,让大家免费体验一下OneThingAI的算力服务。OneThingAI是一家提供AI场景解决方案的算力云服务商,提供了适合AI推理的强大且经济高......
  • 推荐一个 ASP.NET Core 的轻量级插件框架
    前言本文将介绍一个专为ASP.NETCore设计的轻量级插件框架——PluginCore,该框架不仅能够简化插件的开发与集成,还能大幅提高开发效率。另外,还将简要介绍相关的前端技术和SDK支持,帮助我们快速上手。项目介绍PluginCore是一个轻量级插件框架,通过最小化的配置简化插件的集成与管理......
  • 实现.NET 4.0下的Task类相似功能组件
    实现.NET4.0下的Task类相似功能:TaskExCum组件详解引言随着.NET技术的发展,异步编程模型逐渐成为现代应用程序开发中的标准实践之一。.NET4.5引入了Task类,极大地简化了异步编程的过程。然而,许多遗留系统仍在使用.NET4.0或更低版本,这些版本并未直接支持Task类的全......
  • 什么是Internet 和 Internet的性能指标
    Internet和它的性能指标请时刻注意,Internet也是网络,它是一些相互连接的节点的集合。互联网(Internet)从宏观上看,它是一个由软件与硬件的集合组成的分布式系统。这个系统主要为用户提供的服务就是通信。互联网的组成硬件:一些物理链路(用于连接)和用于通信的硬件节点(路由器......
  • 计算机网络(们)和 Internet (计算机网络的子类)
    计算机网络101计算机网络,属于网络的一种。网络通常指由多个节点和它们之间的连接关系构成的结构,强调连接、交互和通信。说明网络的主要目的是通信(交流)(通信)历史以前使用广播,不管是物理的还是无线电广播。特点:强调的是信息的单向传递。用户只能接收信息,而不能实时反馈。(这......
  • Apache Commons Net 共享SSLSession问题解决
        某些服务器会默认开启TLS会话恢复,如FileZillaServer1.0及以后的版本(相对于1.0以前版本就是先当与勾选了RequireTLSsessionresumptionondataconnectwhenusingPORTP)。ApacheCommonsNet目前是不支持TLS会话恢复的,所以我们只能通过重写FTPSClient来实现。不然你......
  • dotnet core微服务框架Jimu ~ 会员授权微服务
    提供授权服务,用户使用会员的用户名和密码获取token,带着token访问受保护的接口,如浏览和发布新闻。有2个公开的api:token:获取token;GetCurrentMemberInfo:获取当前token的会员信息;有1个不公开的方法:GetMemberInfo:根据会员用户名和密码,获取会员信息,该方法供......
  • CSCI 201 Networked Crossword Puzzle
    Assignment#2CSCI201Fall2024Page1of11Assignment#2CSCI201Fall20246%ofcoursegradeTitleNetworkedCrosswordPuzzleTopicsCoveredNetworkingMulti-ThreadingConcurrencyIssuesIntroductionThisassignmentwillrequireyoutocreatetwodiffe......