websocket的主要是为了解决在web上应用长连接进行灵活的通讯应用而产生,但websocket本身只是一个基础协议,对于消息上还不算灵活,毕竟websocket只提供文本和二进制流这种基础数据格式.在实际应用则更偏向于对象消息的处理,而在这基础上更希望集成一系列的消息路由机制来解决消息处理上的问题.为了解决以上问题beetle针对websocket进行了一些高层次的封装,让服务端处理消息变得更简单灵活.以下通过不同的示例介绍Beetle websocket开发包的简易性. hello world ...
        一客户需要对websocket服务应用,其要求每秒同时给3W个在线的websocket连接进行广播消息.以下针对beetle.express扩展websocket简单的性能测试.从测试结果来看基本没什么压力 ...
        应案例相对比较简单,要求服务支持3W连接在线,并每秒向这3W个连接进行一些数据广播,同时在3W连接处理的情况保证每秒还能处理1K个连中接接入.以下是测试结果情况 ...
        在传统的网络应用编写中都是通过接收消息处理然后应答,但在.net 3.0后提供了一个基于业务接口调用的网络交互体系WCF.基于WCF .NET程序可以通过接口调用的方式进行远程业务调用处理.由于WCF是MS提供的体系,所以在mono和xamarin所支持的其他平台都没有良好地被支持.但随便着mono和xamarin的迅速发展,基于业务接口远程调用的服务体系该提供给更多平台提供通讯的便利性;为了解决这些问题EC组件提供了一套基于业务接口远程调用方法实现,借助于mono和xamarin可以使些功能简单应用到linux, ...
        对于不了解网络编程的开发人员来说,编写一个良好的服务端通讯程序是一件比较麻烦的事情.然而通过EC这个免费组件你可以非常简单地构建一个基于linux或win部署运行的网络服务程序.这种便利性完全得益于mono这些年来的不停发展.下面介绍通过EC这个组件如何通过短短十来分钟的时候内就能实现一个聊天室通讯服务程序.         在实现一个网络通讯程序的时候需要定义一个通讯协议,但EC已经集成了基础的协议功能,只需要根据交互的数据定义消息类型即可(EC提供两种序列化对象描述 ...
        在平常的交流中经常有人问.net socket能支持多少在线?和C++或linux下比起来应该差很远吧?其实产生这样问题的主要原因是.net很少人去做这方面的测试,而在linux下则经常听到什么100w或500w在线连接的测试.这样一个数字看起来多么地让人兴奋...其实在这几年编写通讯服务的过程中已经意识到连接数的多少对整体影响并不大,主要归功于现有成熟悉的网络模型和硬件资源.为了更进一步证实这个问题,所以打算在.NET下测试一下100w连接交互情况,不过由于硬件内存不足不能进行100W连接量,因此只能跑个50W在线的效果. & ...
        EC全称是elastic communication,是基于c#实现的Socket网络通讯服务容器,支持windows .Net和mono。通过EC容器可以让开发人员在不了解Socket网络通讯知识和不进行任何配置的情况即可把逻辑应用部署到一个网络通讯服务中。EC的目标让开发人员在编写传统Socket网络通讯服务的时候就象编写asp.net应用一样简单,只需要定义消息和控制器方法即可实施一个基于网络Socket通讯应用服务程序。         以下 ...
EC(全称elastic communication),是一个零配置的网络通讯组件,通过EC可以非常简单地构建一个网络服务应,而开发人员并不需要理解整个网络服务的构情况;只需要根据场景定义message和action即可完成。对于消息和action的一系列组合运行也是由组件自动集成,开发人员并不需要编写任何配置。以下简单一下如何实现一个helloword程序。 服务端 namespace HelloWord.Server { [Controller] public class Program { static void Main(strin ...
在早期的版中由于设计上的问题把消息控制器功能移走,在Beetle 2.7.9的版本中重新引进该功能。通过消息控制器功能开发都并不需要关心消息和逻辑方法的处理关系,控制器会根据消息自动路由于对应的消息方法;使用原理类似于asp.net mvc的controller功能,同样消息控制器也提供Filter功能,方便对消息调用控制和跟踪;同样消息控制器还提供线程池调用功能,开发人员都可以根据自己需要来制定action是否由线程池来处理。 设计 使用 组件提供了一个ControllerServer的基础类来方便编写相应的服务,通过继承该类后编写相应的消息处理 ...
Beetle Tracker的设计目的是用于服务器资源收集和分配的应用服务平台,通过Beetle Tracker制定不同应用服务器的状态信息收集,并可以根据应用的请求分配最适合操作的服务器资源信息.开发者可以根据自己的需求制定服务资源收集和分配规则并挂载到Beetle Tracke服务中,从而实简单的集群服务器信息收集和分配工作. 性能指标 服务设计的性能指标是单台服务器可以承载50K/秒的资源分配任务. 可扩展性能 服务通讯接口的方式来挂载应用,只需根据应用的需实现相应的规则并配置到服务中即可使用.自定义规则主要有以下接口: ...