首页 > Windows开发 > 详细

C# Socket框架 DotNetty和Supersocket

时间:2020-08-26 13:56:18      阅读:763      评论:0      收藏:0      [点我收藏+]

DotNetty

DotNetty是微软的Azure团队,使用C#实现的Netty的版本发布。不但使用了C#和.Net平台的技术特点,并且保留了Netty原来绝大部分的编程接口。让我们在使用时,完全可以依照Netty官方的教程来学习和使用DotNetty应用程序。

Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。

优点

  1. 关注点分离——业务和网络逻辑解耦;
  2. 模块化和可复用性;
  3. 可测试性作为首要的要求

历史

  1. 阻塞Socket通信特点:
    1. 建立连接要阻塞线程,读取数据要阻塞线程
    2. 如果要管理多个客户端,就需要为每个客户端建立不同的线程
    3. 会有大量的线程在休眠状态,等待接收数据,资源浪费
    4. 每个线程都要占用系统资源
    5. 线程的切换很耗费系统资源
  2. 非阻塞Socket(NIO)特点:
    1. 如图,每个Socket如果需要读写操作,都通过事件通知的方式通知选择器,这样就实现了一个线程管理多个Socket的目的。技术分享图片
    2. 选择器甚至可以在所有的Socket空闲的时候允许线程先去干别的事情
    3. 减少了线程数量导致的资源占用,减少了线程切换导致的资源消耗

Netty设计的关键点

异步和事件驱动是Netty设计的关键

核心组件

  • Channel:一个连接就是一个Channel
  • 回调:通知的基础

更多详情 https://blog.csdn.net/nxy_wuhao/article/details/102812324    https://blog.csdn.net/a1234012340a/article/details/91040073

Supersocket 

SuperSocket是重量轻的可扩展套接字应用程序框架。您可以使用它轻松构建始终连接的套接字应用程序,而无需考虑如何使用套接字,如何维护套接字连接以及套接字如何工作。这是一个纯C#项目,旨在进行扩展,因此只要以.NET语言开发它们,就可以轻松地将它们集成到您的现有系统中。

首先安装:SuperSocket.Engine

地址 https://blog.csdn.net/weixin_41181778/article/details/103994362

SuperSoket的三大对象:

  1. Session: 每一个用户连接就是一个Session
  2. AppServer: Socket服务器实例
  3. Commands: 客户端向服务器发送消息的命令集合

C# Socket框架 DotNetty和Supersocket

原文:https://www.cnblogs.com/netlock/p/13564446.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!