.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();
}
}
Swift编程权威指南(第2版)
[美] Matthew Mathias、[美] John Gallagher / 陈晓亮 / 人民邮电出版社 / 2017-6 / 89.00元
Big Nerd Ranch是美国一家专业的移动开发技术培训机构,本书是其培训教材。书中系统讲解了在iOS和macOS平台上,使用苹果的Swift语言开发iPhone、iPad和Mac应用的基本概念和编程技巧。主要围绕使用Swift语言进行iOS和macOS开发,结合大量代码示例,教会读者利用高级iOS和macOS特性开发真实的应用。一起来看看 《Swift编程权威指南(第2版)》 这本书的介绍吧!
图片转BASE64编码
在线图片转Base64编码工具
UNIX 时间戳转换
UNIX 时间戳转换
