supersockets接收过滤器(ReceiveFilter)】的更多相关文章

接收过滤器(ReceiveFilter)用于将接收到的二进制数据转化成请求实例(RequestInfo). 实现一个接收过滤器(ReceiveFilter), 你需要实现接口 IReceiveFilter: public interface IReceiveFilter<TRequestInfo> where TRequestInfo : IRequestInfo { /// <summary> /// Filters received data of the specific s…
一.前言 学习了CAN通讯,底层的东东CAN控制器已经帮你处理完成,也就是CAN通讯协议已经做好,你按协议格式往对应的位扔数据发送就好,所以使用CAN通讯,我们只需要去关心制定发送的数据间的协议,也就是给每个数据加上有标识符的协议.如下图所示的CAN通讯发送数据的数据帧,Arbitration Field即是具有优先级的标识ID,Data Field即是要发送的数据,Arbitration Field.Data Field就是我们关注的重点,因为CAN通讯协议里边这些发送出来的标识ID并不代表节…
接收过滤器工厂(ReceiveFilterFactory)用于为每个会话创建接收过滤器. 定义一个过滤器工厂(ReceiveFilterFactory)类型, 你必须实现接口 IReceiveFilterFactory. 类型参数 "TRequestInfo" 是你要在整个程序中使用的请求类型 /// <summary> /// Receive filter factory interface /// </summary> /// <typeparam n…
关键字: 命令过滤器, 命令, 过滤器, OnCommandExecuting, OnCommandExecuted SuperSocket 中的命令过滤器看起来有些像 ASP.NET MVC 中的 Action Filter,你可以用它来做命令执行的拦截,命令过滤器会在命令执行前和执行后被调用. 命令过滤器必须继承于 Attribute 类 CommandFilterAttribute: /// <summary> /// Command filter attribute /// </…
         Socket里面的协议解析是Socket通讯程序设计中最复杂的地方,如果你的应用层协议设计或实现不佳,Socket通讯中常见的粘包,分包就难以避免.SuperSocket内置了命令行格式的协议CommandLineProtocol,如果你使用了其它格式的协议,就必须自行实现自定义协议CustomProtocol.看了一篇文档之后, 你可能会觉得用 SuperSocket 来实现你的自定义协议并不简单. 为了让这件事变得更容易一些, SuperSocket 提供了一些通用的协议解…
一.总体介绍 SuperSocket 是一个轻量级的可扩展的 Socket 开发框架,由江振宇先生开发. 官方网站:http://www.supersocket.net/ SuperSocket具有如下特点: 简单易用,只需要几个类就能创建出健壮的Socket服务器端程序 性能优良, 稳定可靠 支持各种协议, 内置的协议解析工具让你把实现通信协议这种复杂的工作变得很简单 自动支持SSL/TLS传输层加密 强大,灵活而且可扩展的配置让你开发Socket服务器省时省力 支持多个socket服务器实例…
为什么你要使用自定义协议? 通信协议用于将接收到的二进制数据转化成您的应用程序可以理解的请求. SuperSocket提供了一个内置的通信协议“命令行协议”定义每个请求都必须以回车换行"\r\n"结尾. 但是一些应用程序无法使用命令行协议由于不同的原因. 这种情况下,你需要使用下面的工具来实现你的自定义协议: * data class * RequestInfo * ReceiveFilter * ReceiveFilterFactory * AppServer and AppSess…
内置的命令行协议(接受自定义,分隔符为“:”,“,”): 命令行协议定义了每个请求必须以回车换行结尾 "\r\n". 由于 SuperSocket 中内置的命令行协议用空格来分割请求的Key和参,因此当客户端发送如下数据到服务器端时: "LOGIN kerry 123456" + NewLine SuperSocket 服务器将会收到一个 StringRequestInfo 实例,这个实例的属性为: Key: "LOGIN" Body: &quo…
SuperSocket基础(二)-----一个完成SocketServer项目 由于时间关系未能及时更新,关于SuperSocket,对于初学者而言,一个SuperSock的Server真的不好写.官方文档写的很清晰,如何接受客户端发来的二进制报文并做响应的解析.下面就从一个完整的项目出发,记录SuperSocket的开发过程. 1.项目场景:现有十多个RTU设备,用来监测自来水管的压力和流量,需要将十多个传感器传来的值接收并做解析来使用.用SuperSocket写一个Socket服务器,实时监…
SuperSocket基础(一)——————基本概念 项目中之前一直使用TCP socket服务框架,但是不利于扩展.最近刚接触到开源的superSocket感觉很不错,特记录一下.官方开源地址:http://www.supersocket.net/ 基本概念: SuperSocket:是一个可扩展的Socket开源框架,是一个轻量级.跨平台而且可扩展的.Net/Mono Socket 服务器程序框架.可以轻松的使用SuperSocket开发出一款Socket服务软件. 功能特点: 1.高性能的…
SuperSocket基础(二)-----一个完整的SocketServer项目 由于时间关系未能及时更新,关于SuperSocket,对于初学者而言,一个SuperSock的Server真的不好写.官方文档写的很清晰,如何接受客户端发来的二进制报文并做响应的解析.下面就从一个完整的项目出发,记录SuperSocket的开发过程. 1.项目场景:现有十多个RTU设备,用来监测自来水管的压力和流量,需要将十多个传感器传来的值接收并做解析来使用.用SuperSocket写一个Socket服务器,实时…
项目地址:https://github.com/kerryjiang/SuperSocket.ClientEngine 其中需要引入的SuperSocket.ProtoBase项目:SuperSocket.ProtoBase是流数据的一个协议分析库. 地址:https://github.com/kerryjiang/SuperSocket.ProtoBase 用法: 1.根据你的网络协议创建ReceiveFilter的实现. SuperSocket.ClientEngine提供了一些有用的基本R…
AngularJS的表达式是放在{{}}里面,用{{ }}符号将一个变量绑定到$scope上. angularJS中的表达式有如下特点: 1.只能在其所属作用域内部 所有的表达式都在其所属的作用域内部执行,并有访问本地$scope的权限. 2.允许未定义 在html中可以使用未在angularJS定义的变量,不会抛出异常 3.不能使用流控制 不能使用任何流控制包括条件语句,如if/else 4.过滤器 可以接收过滤器和过滤器链,使用 | 符号连接过滤器 请看小例子: <!doctype html…
Launcher是系统启动后第一个启动的程序,是其它应用程序的入口,也就是我们的手机程序的桌面程序; 一.Launcher的定义及构成: <1>通过查看官方提供的Launcher源码可以知道其实Launcher也是一个Activity,不过它的intent-fliter有点特殊: <activity android:name="Launcher" android:launchMode="singleTask" android:clearTaskOn…
SuperSocket 提供了一些通用的协议解析工具, 你可以用他们简单而且快速的实现你自己的通信协议: TerminatorReceiveFilter (SuperSocket.SocketBase.Protocol.TerminatorReceiveFilter, SuperSocket.SocketBase) CountSpliterReceiveFilter (SuperSocket.Facility.Protocol.CountSpliterReceiveFilter, SuperSo…
bxCAN是基本扩展CAN(Basic Extended CAN)的缩写,它支持CAN协议2.0A和2.0B.它的设计目标是,以最小的CPU负荷来高效处理大量收到的报文.它也支持报文发送的优先级要求(优先级特性可软件配置). 主要特点*****; 支持CAN协议2.0A和2.0B主动模式 *****;  波特率最高可达1兆位/秒 *****;  支持时间触发通信功能 发送*****;3个发送邮箱 *****; 发送报文的优先级特性可软件配置 *****;记录发送SOF时刻的时间戳 接收*****…
D类IP地址(224.0.0.0到239.255.255.255)不识别互联网内的单个接口,但识别接口组,被称为多播组. 单个网络上的组成员利用IGMP协议在系统之间通信. 多播路由器用多播选录协议.如DVMRP(distance vector multicast routing protocol.距离向量多播路由选择协议)传播成员信息. 在Net/3中,假设某个接口支持多播.那么在接口ifnet结构中的if_flags的标识IFF_MULTICAST比特就被打开. RFC 1112描写叙述了多…
最近在搞stm32实验板的can现场总线实验,之前只是搞过STC51的串口通信,相比之下,发觉can总线都挺复杂的.开始时,知道自己是新手,只知道can总线跟串行通信,485通信,I2C通信一样都是用来传输数据通信的,对其工作原理一窍不通,还是从基础开始看书看资料,先了解它的基本原理吧. 原来can总线有以下特点: 主要特点 支持CAN协议2.0A和2.0B主动模式 波特率最高可达1兆位/秒 支持时间触发通信功能 发送 3个发送邮箱 发送报文的优先级特性可软件配置 记录发送SOF时刻的时间戳 接…
---- 近期工作中web页面使用由C语言编写的VOLT模板引擎,相比之前由js动态加载页面速度更快,更利于百度数据的抓取,现根据文档整理一下使用思路 (Volt是一个超快速和设计者友好的模板语言,C语言编写的PHP.它为您提供了一套 助理写一个简单的方法的意见.phalcon框架与其他组件的高度集成, 就像你可以使用它作为一个独立的组件在你的应用程序中. Volt是一种用C语言编写的超快速并且设计友好的PHP模板引擎,它为你提供了一套很方便的视图助手.Volt与其他的组件高度集成,就像你可以在…
  ———— 近期工作中web页面使用由C语言编写的Volt模板引擎,相比之前由js动态加载页面速度更快,更利于百度数据的抓取,现根据文档整理一下使用思路 (Volt是一个超快速和设计者友好的模板语言,C语言编写的PHP.它为您提供了一套 助理写一个简单的方法的意见.phalcon框架与其他组件的高度集成, 就像你可以使用它作为一个独立的组件在你的应用程序中. Volt是一种用C语言编写的超快速并且设计友好的PHP模板引擎,它为你提供了一套很方便的视图助手.Volt与其他的组件高度集成,就像你可…
6. MAC功能描述 6.1 信道访问 802.15.4使用的物理无线电信道的访问机制有下面两种: - 基于竞争的访问机制: 设备使用CSMA-CA退避算法以分布式方式访问信道 - 无竞争的访问机制: PAN协调器通过使用GTS来控制 6.1.1 超帧结构 6.1.1.1 介绍 PAN协调器可以选择使用超帧结构(Superframe Struct)绑定其信道时间超帧以信标帧的传输为界,有活动部分和非活动部分协调器只能在超帧的活动部分与PAN交互,因此,在非活动部分可以进入低功耗(休眠)模式 超帧…
更多细节请参看MCAN2文档mcan2_ps.pdf. 一.MCAN2简介 MCAN2是Mentor公司开发的一个CAN2.0网络控制器的软核,初版2001年末版2006年.MCAN 2控制器实现了BOSCAN消息传输协议2.0a和2.0b.规范2.0a(相当于can 1.2)涵盖标准消息格式(11位标识符):规范2.0b涵盖标准和扩展消息格式(11位和29位标识符). 二.总体架构 下图显示了MCAN2设计的主要功能块. CPU对mcan 2的访问是通过独立的地址.输入数据和输出数据总线进行的…
前言 大龄程序员失业状态,前几天面试了一家与医疗设备为主的公司并录取:因该单位涉及串口通讯方面技术,自己曾做过通讯相关的一些项目,涉及Socket的较多,也使用SuperSocket做过一些项目,入职前做了一些准备工作,按照SuperSocket设计思路写了一套串口通讯的框架,最后入职后发现曾一再确定的双休问题不能实现:技术负责人对我的工作安排只是跟着几个年轻程序员熟悉及维护已有程序,入职前所说的某一个新项目也已经有人在做,而且翻看他们的代码质量也很一般,,综合考虑还是放弃了这份工作,5年前开始…
1.新加类GzipRequestWrapper 继承HttpServletRequestWrapper类 public class GzipRequestWrapper extends HttpServletRequestWrapper{ private HttpServletRequest request; private static final Logger LOGGER = LoggerFactory.getLogger(GzipRequestWrapper.class); public…
关于接收: Receive WM_COPYDATA messages in a Qt app. 还有个中文网站: 提问: 如何在Qt中模拟MFC的消息机制 关于发送: 用Qt在Windows下编程,如何调用Windows系统的API? 稍后会把内容补上 后来,Qt5把winEvent函数废弃掉了,换成bool QWidget::​nativeEvent(const QByteArray & eventType, void * message, long * result)函数了: 这里有个举例子…
原文:Filters 作者:Steve Smith 翻译:刘怡(AlexLEWIS) 校对:何镇汐 ASP.NET MVC 过滤器 可在执行管道的前后特定阶段执行代码.过滤器可以配置为全局有效.仅对控制器有效或是仅对 Action 有效. 查看或下载演示代码. 过滤器如何工作? 不同的过滤器类型会在执行管道的不同阶段运行,因此它们各自有一套适用场景.根据你实际要解决的问题以及在请求管道中执行的位置来选择创建不同的过滤器.运行于 MVC Action 调用管道内的过滤器有时被称为 过滤管道 ,当…
现在公司用ionic,就是基于angularjs封装了一些api用于webapp,最近用的angularjs的filter确实省了很多代码,现在总结一下! ng比较鸡肋的过滤器,这里就一笔带过吧!鸡汤类常用的filter后面上例子. lowercase(小写) {{ lastName | lowercase }} uppercase(大写) {{ lastName | uppercase }} number(格式化数字) number过滤器可以为一个数字加上千位分割,像这样,123,456,78…
PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入. 什么是 PHP 过滤器? PHP 过滤器用于验证和过滤来自非安全来源的数据. 验证和过滤用户输入或自定义数据是任何 Web 应用程序的重要组成部分. 设计 PHP 的过滤器扩展的目的是使数据过滤更轻松快捷. 为什么使用过滤器? 几乎所有 web 应用程序都依赖外部的输入.这些数据通常来自用户或其他应用程序(比如 web 服务).通过使用过滤器,您能够确保应有程序获得正确的输入类型. 您应该始终对外部数据进行过滤! 输入过滤是最重…
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架ServerSuperIO教程>2.服务实例的配置参数说明 <连载 | 物联网框架ServerSuperIO教程>- 3.设备驱动介绍 <连载 | 物联网框架ServerSuperIO教程>-4.如开发一套设备驱动,同时支持串口和网络通讯. <连载 | 物联网框架ServerSupe…
Servlet过滤器 [TOC] 1.过滤器的基本概念 1.1.基本概念 过滤器(Filter)属于tomcat服务器中的Servlet功能.在普通的javaweb服务中,jsp中的请求要被Servlet来处理,但是很多对请求做一些操作或者判断,比如用户的每次请求都要判断是不是已经登录,这个时候就可以使用到过滤器,过滤器的作用就相当于Servlet的一个门,jsp的请求从这个门进来,也要从这个门出去 通过过滤器Filter技术,对web服务器管理的所有web资源,例如:jsp,Servlet,静…