NewLife.Net
1.数据结构
public interface IPipeline : IEnumerable<IHandler>
public class Pipeline : IPipeline
2.配置
2.1 串口配置(Config\Serial.config)
2.2 socket 配置(Config\Socket.config)
3.应用结构定义
3.1 协议类型(NetType)
3.2 网络资源标志(NetUri)
3.3 数据包(Packet)
4.事件处理
4.1 会话事件(SessionEventArgs,NetSessionEventArgs)
4.2 收包事件(ReceivedEventArgs)
5.TCP通信建立连接的流程
6.辅助类 SocketRemoteHelper(静态类)
ISocketRemote的扩展函数,提供多种发包方式:字符串、流等,对资源封装成Packet处理
7. 数据包过大时时的分段传输(比如当数据包为600K,但缓存区大小只有64K)
知识点补充
Note1: C#中的?.操作符
不为Null执行后续操作。 string str; str?.ToString();当str不为Null时则执行str的ToString()方法,相当于if的代码块
Note2: EventHandler<TEventArgs>,EventHandler
Note3:ArraySegment
Note4: public static implicit operator 运算符重载
转载于:https://www.cnblogs.com/mbaymax/p/11338796.html
NewLife.Net相关推荐
- 8,协议序列化组件NewLife.Serialization
<?xml:namespace prefix = o /> 在开发某些需要跟第三方平台交互的项目时,往往需要解析或者构造符合对方协议要求的数据格式,该操作在.Net中有个很漂亮的名字--序 ...
- NewLife.Net——管道处理器解决粘包
Tcp网络编程,必须要解决的一个问题就是粘包,尽管解决办法有很多,这里讲一个比较简单的方法. 老规矩,先上代码:https://github.com/nnhy/NewLife.Net.Tests 一. ...
- 性能分布式NewLife.XCode对无限数据的支持
上周发布了<改进版CodeTimer及XCode性能测试>,展示了NewLife.XCode在性能上的表现.实际上NewLife.XCode是一个很平凡的ORM,只是在分页和缓存方面多下点 ...
- [NewLife.Net]单机400万长连接压力测试
目标 对网络库NewLife.Net进行单机百万级长连接测试,并持续收发数据,检测网络库稳定性. [2020年8月1日晚上22点] 先上源码:https://github.com/NewLifeX/N ...
- [NewLife.XCode]分表分库(百亿级大数据存储)
NewLife.XCode是一个有15年历史的开源数据中间件,支持netcore/net45/net40,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量 ...
- [NewLife.XCode]实体工厂(拦截处理实体操作)
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和 ...
- [NewLife.XCode]百亿级性能
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和 ...
- [NewLife.XCode]高级查询(化繁为简、分页提升性能)
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和 ...
- [NewLife.XCode]数据层缓存(网站性能翻10倍)
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和 ...
- [NewLife.XCode]脏数据
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netstandard,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示 ...
最新文章
- 线上学python哪家好-Python线下培训好还是线上培训好
- LeetCode Surrounded Regions(floodfill算法)
- java 输出数据类型_输入输出和java数据类型
- IIS请求筛选模块被配置为拒绝超过请求内容长度的请求
- 职场:人生从没有最佳时机!一个离职客服人员的领悟
- 容器编排技术 -- Kubernetes 为 Namespace 设置最小和最大内存限制
- 人工智能时代,我们需要什么样的芯片?| 码书
- cvSplit(),cv图像颜色通道分割和融合
- 熟悉VB 6.0界面
- java链表实现多项式的运算
- 流媒体/流媒体文件格式详解
- oracle SDO_ORDINATE_ARRAY直接展示
- 多项式polynomial 考试 解题报告
- python二级题库 第四套 附刷题软件
- 人行征信密码控件卸载后残留,导致fiddler自动关闭解决办法
- 程序员如何高效提升学习能力?做到这三点,你就会与众不同
- 数据结构:若借助栈由输入序列1,2…n得到的输出序列为p1p2…pn(它是输入序列的一个排列),证明在输出序列中不可能出现这样的情形:存在着i<j<k,使pj<pk<pi
- SAP ERP数据表清单
- [python]如何学习python的第三方库(wheel轮子)
- java 判断时间先后顺序_java怎样判断下面的日期的先后