github开源推荐:SuperSocket, 可扩展的 Socket 服务器框架

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了github开源推荐:SuperSocket, 可扩展的 Socket 服务器框架相关的知识,希望对你有一定的参考价值。

1、简介

SuperSocket 是一个轻量级, 跨平台而且可扩展的 .Net/Mono Socket 服务器程序框架。你无须了解如何使用 Socket, 如何维护 Socket 连接和 Socket 如何工作,但是你却可以使用 SuperSocket 很容易的开发出一款 Socket 服务器端软件,例如游戏服务器,GPS 服务器, 工业控制服务和数据采集服务器等等。

2、特性

高性能的事件驱动通信;

非常简单易用; 你只需要通过创建几个类就能获得一个健壮的 Socket 服务器;

内置的命令行协议让你能够迅速创建一个网络命令行接口服务器;

强大且高性能的协议解析实现工具帮你简化了网络数据的分析工作;

灵活的配置功能和友好的配置 API;

多监听器支持; 让你在一个服务器实例内监听多个端口;

多服务器实例托管的支持让你从容面对复杂的部署需求;

应用程序域和进程级别的隔离能够满足你大部分的宿主场景;

内置的 SSL/TLS 加密支持;

会话级别的发送队列能够让你通过会话并发的发送数据,并保持高性能和可控性;

SuperSocket 的命令处理模式让你的业务逻辑更清晰,更有条理;

优良的可扩展 API 支持: Command Filter, Connection Filter, Command Loader;

可替换的日志架构允许你使用你喜欢的日志组件;

动态语言的支持; 允许你用 Python 之类的脚本语言来实现命令;

与 Mono/Linux 保持二进制级别的兼容;

Windows Azure 的支持;

内置你可以直接用于 Flash 或 Silverlight 客户端的 Socket 策略服务器;

3、集成

与 ASP.Net Core 网站集成

是的,SuperSocket 可以与 ASP.NET Core 网站并排运行。您应该做的是将 SuperSocket 注册到 ASP.NET Core 的主机构建器中,并将选项留在配置文件中或通过代码。

在 Program 类中,为 SuperSocket 添加更多代码行:

//don't forget the usings
    using SuperSocket;
    using SuperSocket.ProtoBase;

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            
                webBuilder.UseStartup<Startup>();
            )
            .AsSuperSocketHostBuilder<TextPackageInfo, LinePipelineFilter>()
            .UsePackageHandler(async (s, p) =>
            
                // echo message back to client
                await s.SendAsync(Encoding.UTF8.GetBytes(p.Text + "\\r\\n"));
            );

并在配置文件“appsettings.json”中保留服务器选项:


        "Logging": 
            "LogLevel": 
            "Default": "Information",
            "Microsoft": "Warning",
            "Microsoft.Hosting.Lifetime": "Information"
            
        ,
        "serverOptions": 
            "name": "TestServer",
            "listeners": [
                
                    "ip": "Any",
                    "port": 4040
                
            ]
        ,
        "AllowedHosts": "*"
    

4、开源地址

地址

https://github.com/kerryjiang/SuperSocket

以上是关于github开源推荐:SuperSocket, 可扩展的 Socket 服务器框架的主要内容,如果未能解决你的问题,请参考以下文章

基于开源SuperSocket实现客户端和服务端通信项目实战

SuperSocket

基于开源SuperSocket实现客户端和服务端通信项目实战(发布版)

supersocket特征

SuperSocket学习笔记-一个完整的例子

SuperSocket与Netty之实现protobuf协议,包括服务端和客户端