C#是否有比较稳定活跃的开源网络框架? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
timethinker
V2EX    C#

C#是否有比较稳定活跃的开源网络框架?

  •  
  •   timethinker 2021-07-19 11:13:35 +08:00 4728 次点击
    这是一个创建于 1613 天前的主题,其中的信息可能已经有发展或是发生改变。
    因为最近需要用 C#来改善一个服务端项目(游戏项目),需要用到长连接,所以就想看看有没有类似 Java 上 Netty 或者 Mina 这种网络框架。

    看了一下有一个微软官方的 DotNetty,但是貌似已经很久没有维护更新了,然后有一个 SpanNetty 分支在继续维护( https://github.com/cuteant/SpanNetty )。
    9 条回复    2021-08-19 17:04:35 +08:00
    yicong135
        1
    yicong135  
       2021-07-19 11:22:52 +08:00   1
    xingyuc
        2
    xingyuc  
       2021-07-19 11:39:08 +08:00
    不知道这个算不算: https://dotnetchina.gitee.io/furion/
    mmdsun
        3
    mmdsun  
       2021-07-19 12:38:49 +08:00 via Android
    timethinker
        4
    timethinker  
    OP
       2021-07-19 13:41:15 +08:00
    @xingyuc 这个有点像是一个大而全的项目脚手架了。
    @mmdsun 这个貌似适用于 Web 项目,需要进一步了解。

    感谢几位老哥,我看了一下 SuperSocket 还算是比较合适的,本质上我需要的是一个异步的,事件驱动的网络编程框架。

    接下来需要进一步了解它们的线程模型,因为改造现在的这个项目就是因为并发导致的线程安全问题,如果像 Netty 那样跟其中某一个 EventLoop 绑定,移除掉阻塞操作基本上就可以达到一个比较高的吞吐量,而且无须考虑线程安全问题。实在不行的话我可能需要直接用原生 API 再结合自己的线程池来进行控制了。
    Rwing
        5
    Rwing  
       2021-07-19 13:49:17 +08:00
    SpanNetty 由于使用了 Span<>,性能和内存还是很惊人的,就是不知道稳定不
    timethinker
        6
    timethinker  
    OP
       2021-07-19 17:54:09 +08:00
    @Rwing 目前准备使用 SpanNetty 测试一下,然后在对比一下之前老哥们提供的那些。
    kiracyan
        7
    kiracyan  
       2021-07-22 14:30:26 +08:00
    SpanNetty 好不好用 ?
    INCerry
        8
    INCerry  
       2021-07-23 14:22:49 +08:00   1
    现在最推荐的方式是直接上 kestrel,在 C#这种有协程的语言中,其实可以抛弃 netty 那套事件驱动的机制了,使用 system.io.pipeline 也能很快整一个出来
    https://github.com/dotnet/aspnetcore/tree/main/src/Servers/Kestrel
    timethinker
        9
    timethinker  
    OP
       2021-08-19 17:04:35 +08:00
    @INCerry 感谢老哥,之前没怎么接触过 C#,看来我还是对 C#语言的生态不太了解,的确如果利用 System.Threading.Channels 和 Task 可以很方便的做一个类似的东西,IO 也可以用你说的管道来实现。

    顺便说一句,C#语法真香!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5436 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 01:56 PVG 09:56 LAX 17:56 JFK 20:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86