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

2023-11-05 21:08

本文主要是介绍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 usingsusing 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 clientawait 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 服务器框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/352506

相关文章

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid