github開源推薦:SuperSocket, 可擴充套件的 Socket 伺服器框架

語言: CN / TW / HK

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 策略伺服器;

與 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