.net 高性能异步、同步通信库 Bouyei.NetFactory
- 授权协议: GPL
- 开发语言: C# .NET
- 操作系统: 跨平台
- 软件首页: http://git.oschina.net/bouyei/Bouyei.NetProviderFactory/
- 软件文档: http://git.oschina.net/bouyei/Bouyei.NetProviderFactory/wikis/home
软件介绍
c# 高性能大并发 socket 异步、同步通信库,建立独立的发送缓冲池和接收缓冲池解决发送和接收不断分配缓冲区问题,主要功能模块:
支持.net core和.net framework 。
tcp客户端和服务端,客户端分为同步和异步通信连接;
udp客户端服务端,客户端分为同步和异步通信连接;
数据包通信协议独立模块,帮助使用者提供数据包格式定制。
数据包解析独立模块;
客户端连接管理池模块;
测试:
简单测试结果单个连接实例收发10w个数据包程序内存消耗在4MB左右,每秒稳定传输256mb的数据量,峰值在512MB左右浮动,根据网络和网卡有所误差,请以实际环境为主,一切尽在 demo 中,例子:
using NetProviderFactory;
class Program
{
static void Main(string[] args)
{
int port = 13145;
//服务端
INetServerProvider serverSocket = NetServerProvider.CreateProvider();
//直接返回缓冲区和接收到的偏移
serverSocket.ReceiveOffsetHanlder = new OnReceiveOffsetHandler((sToken, buffer, offset, cnt) =>
{
Console.WriteLine("offset:from client[" + Encoding.UTF8.GetString(buffer,offset,cnt));
});
bool isOk=serverSocket.Start(port);
if (isOk)
{
Console.WriteLine("已启动服务。。。");
//客户端
NetClientProvider clientSocket = NetClientProvider.CreateProvider();
//异步接收数据例子
clientSocket.ReceiveHanlder = new OnReceiveHandler((sToken, buffer) =>
{
Console.WriteLine("client:from server[" + Encoding.UTF8.GetString(buffer));
});
//异步连接
bool isOk= clientSocket.ConnectTo(port, "127.0.0.1");
if(isOk){
clientSocket.Send(Encoding.UTF8.GetBytes("hello" + DateTime.Now));
}
//同步连接和发送接收数据例子
if (clientSocket.ConnectSync(port, "127.0.0.1"))
{
clientSocket.SendSync(Encoding.UTF8.GetBytes("I'm client" + DateTime.Now), (recCnt, buffer) =>
{
Console.WriteLine("client:from server[" + Encoding.UTF8.GetString(buffer, 0, recCnt));
});
}
}
Console.ReadKey();
}
}
Servlet和JSP学习指南
Budi Kurniawan / 崔毅、俞哲皆、俞黎敏 / 机械工业出版社华章公司 / 2013-4-14 / 59.00元
本书是系统学习Servlet和JSP的必读之作。由全球知名的Java技术专家(《How Tomcat Works》作者)亲自执笔,不仅全面解读Servlet 和JSP 的最新技术,重点阐述Java Web开发的重要编程概念和设计模型,而且包含大量可操作性极强的案例。 本书共18章:第1章介绍Servlet API和几个简单的Servlet;第2章讨论Session追踪,以及保持状态的4种技术......一起来看看 《Servlet和JSP学习指南》 这本书的介绍吧!
