ESFrameork
文章平均质量分 86
当下即是
ESFramework 是一套性能卓越、稳定可靠的跨平台通信框架,支持P2P通道,应用服务器集群,且内置了很多强大实用的相关功能。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ESPlatform 群集平台(02) -- 从外部访问群集
本文我们来解决一个常见的问题,那就是在ESPlatform群集之外如何访问和控制ESPlatform群集了? 在ESPlatform 群集平台(01) -- 迁移到群集平台一文中,我们提到ACMS提供了三个Remoting服务接口:IApplicationService、IClusterControlService、IPlatformCustomizeService。 IAppl原创 2012-05-24 10:22:22 · 495 阅读 · 0 评论 -
ESFramework 使用技巧 -- 实现离线消息
在ESFramework 开发手册(01) -- 发送和处理信息一文中,我们介绍了如何使用ESPlus.Application.CustomizeInfo命名空间的组件来发送和处理自定义消息。而在实际的项目中,需要实现离线消息的功能是一个常见的需求,也有很多客户来咨询如何做才能实现离线消息,所以,在这里,我们简单介绍一下使用ESFramework/ESPlus实现离线消息的原理与步骤。 一原创 2012-05-22 15:14:39 · 326 阅读 · 0 评论 -
ESFramework Demo -- 动态组及群聊Demo(附源码)
所谓“动态组”,就是在服务器内存中动态创建的组,不需要序列化存储到比如数据库或磁盘中,更像是一个临时的东西,需要的时候就创建一个,然后加入多个成员进行组内沟通,当不再使用的时候,就直接从内存中销毁了。在阅读本文之前,请务必先掌握ESFramework 开发手册(05) -- 好友与组 一文中介绍的关于组关系的基础知识以及相关API的用法。 本Demo主要演示以下功能:(1)创原创 2012-05-24 10:17:37 · 577 阅读 · 0 评论 -
ESFramework 开发手册(02) -- 基础功能与状态通知
本文介绍ESFramework 开发手册(00) -- 概述一文中提到的四大武器的第二个:基础功能与状态改变通知。 在解决了发送信息和处理信息之后,还有一些基础功能是很多分布式通信系统都需要用到的,比如,查询某个用户是否在线、获取在线的好友列表、当好友上下线时得到通知,等等。ESPlus.Application.Basic命名空间下的组件,为我们解决了这些基础问题。 1.客户原创 2012-05-22 14:35:39 · 940 阅读 · 0 评论 -
ESFramework 开发手册(00) -- 概述(暨ESPlus 2.0正式发布!)
自从最后一次发布ESFramework/ESPlus至今,已经过去5个月了。今天,ESPlus 2.0 终于正式和大家见面了。现在ESFramework相关的各个组件的最新版本号分别是:ESFramework 4.0.7.0,ESPlus 2.0.0.0,ESFramework.SL 1.2.0.0,ESFramework.WP 1.0.0.0。可以从我们官网下载这次发布的所有组件、文档、以及de原创 2012-05-22 11:38:02 · 866 阅读 · 0 评论 -
ESFramework 开发手册(01) -- 发送和处理信息
本文介绍ESFramework 开发手册(00) -- 概述一文中提到的四大武器的第一个:发送和处理自定义信息。 使用通信框架最基础的需求就是收发信息,ESFramework底层已经为我们封装好了所有与信息收发相关的操作,我们只要调用ESPlus.Application.CustomizeInfo命名空间下的相关组件的API来发送信息,以及实现对应的处理器接口来处理收到的信息就可以了原创 2012-05-22 11:52:46 · 432 阅读 · 0 评论 -
ESFramework 开发手册(03)--文件(夹)传送
本文介绍ESFramework 开发手册(00) -- 概述一文中提到的四大武器中的第三个:文件传送。 在很多分布式系统中,都有文件传送的需求。ESPlus内置了文件传送(支持自动断点续传)的功能,通过ESPlus.Application.FileTransfering命名空间提供相关服务。最新的ESPlus不仅支持传送单个文件,还支持传送整个文件夹,而且,传送文件夹与传送文件采用完原创 2012-05-22 14:37:24 · 743 阅读 · 0 评论 -
ESFramework 开发手册(04)--可靠的P2P
本文介绍ESFramework 开发手册(00) -- 概述一文中提到的四大武器中的最后一个:P2P通道。 ESPlus 2.0版本相对于1.x而言,新增的最主要特性就是对P2P的支持。 ESPlus 2.0提供了基于TCP和UDP的P2P通道,而无论我们是使用基于TCP的P2P通道,还是使用基于UDP的P2P通道,ESPlus保证所有的P2P通信都是可靠的。这是因为E原创 2012-05-22 14:39:36 · 734 阅读 · 0 评论 -
ESFramework 开发手册(06) -- Rapid通信引擎
ESPlus.Rapid命名空间提供了我们可以直接使用的客户端Rapid引擎和服务端Rapid引擎。Rapid引擎将ESFramework和ESPlus提供的各种组件装配成一个整体,将结构的复杂性隐藏在引擎的内部,而提供给我们一个简单易用的接口。在引擎对象初始化成功之后,我们就可以使用引擎对象暴露出的四大武器了。Rapid引擎底层使用的核心是ESFramework的StreamTcpEngine,原创 2012-05-22 14:42:17 · 694 阅读 · 0 评论 -
ESFramework 开发手册(05)--好友与组
本文介绍ESFramework 开发手册(00) -- 概述一文中提到的ESPlus的两翼:好友关系与组关系。 大部分分布式通信系统中,除了客户端与服务器进行通信外,都还会涉及到客户端之间相互通信、以及需要将客户端进行分组的功能,或者是类似这方面的需求。ESFramework对这一常见的任务内置了强大的支持,包括从客户端到服务端、一直到ESPlatform群集。在设计时,我原创 2012-05-22 14:40:52 · 661 阅读 · 0 评论 -
ESFramework Demo -- 简单的网络硬盘Demo(附源码)
FTP服务器最核心的功能就是提供文件的上传、下载服务。在ESFramework Demo -- 文件传送Demo(附源码)一文中,我们演示了如何在客户端与客户端之间相互传送文件,现在我们就实现一个简单的FTP服务器,以演示如何在客户端与服务器之间传送文件。在阅读本文之前,请务必先掌握ESFramework 开发手册(03) -- 文件(夹)传送 一文中介绍的文件传送的流程及相关的API的用法。原创 2012-06-12 14:29:30 · 641 阅读 · 0 评论 -
ESFramework 开发手册(07) -- 心跳机制
虽然我们前面已经介绍完了ESFramework开发所需掌握的各种基础设施,但是还不够。想要更好地利用ESFramework这一利器,有些背景知识是我们必须要理解的。就像本文介绍的心跳机制,在严峻的Internet条件下,是通信系统中不可或缺的机制之一。 在Internet上采用TCP进行通信的系统,都会遇到一个令人头疼的问题,就是“掉线”。而“TCP掉线”这个问题远比我们通常所能想象原创 2012-05-22 14:43:53 · 441 阅读 · 0 评论 -
ESFramework Demo -- 简单的FTP服务器Demo(附源码)
FTP服务器最核心的功能就是提供文件的上传、下载服务。在ESFramework Demo -- 文件传送Demo(附源码)一文中,我们演示了如何在客户端与客户端之间相互传送文件,现在我们就实现一个简单的FTP服务器,以演示如何在客户端与服务器之间传送文件。在阅读本文之前,请务必先掌握ESFramework 开发手册(03) -- 文件(夹)传送 一文中介绍的文件传送的流程及相关的API的用法。原创 2012-05-24 10:18:56 · 339 阅读 · 0 评论 -
ESFramework 使用技巧 -- 大数据块信息
在一般的通信系统中,我们都是通过网络来传递尺寸较小的单个信息(数十个字节,最大也就几K或几十K),但是有时候,需要传递的信息的个头很大,比如在内存中产生的一个数据报表,可能有数M之大。我们将这样的大尺寸信息称为“大数据块信息”(Blob)。 一.发送Blob的几种方案 在ESFramework/ESPlus中,发送的自定义信息的最大尺寸是有限制的,这个限制源于框架对单个消息的原创 2012-05-24 10:16:34 · 441 阅读 · 0 评论 -
ESPlatform 群集平台(00) -- 概念与模型
当我们将基于ESPlus/ESFramework开发的应用程序的服务端部署在一台服务器上时,就可以称这台服务器为应用服务器(AS)。当在线用户数量不断增加时,我们可能需要部署数台或更多的AS来分担负载。但是,如果没有ESPlatform统一管理,这些AS中的任何一个都是独立的孤岛,不能与其它的AS进行协作。对于某些特殊的应用来说,也许是可以的。但是,对于大多数需要群集的应用来说,必须要将众多的AS原创 2012-05-24 10:20:41 · 618 阅读 · 0 评论 -
ESFramework 开发手册(08) -- 重登陆模式与掉线重连
ESPlus提供的Rapid引擎采用了这样一条规则:当客户端与服务器成功建立TCP连接以后,发送的第一个消息为登录消息,当登录消息中的帐号密码经过服务端的验证后,服务端就会从消息中取出UserID的值,并将其与对应的TCP连接绑定起来。这样,服务端就知道每一个TCP连接所对应的用户UserID,而当我们要求服务端向某个客户端发送消息时,服务端就知道通过哪个TCP连接进行发送了。对同一个服务端而言,原创 2012-05-22 14:44:58 · 428 阅读 · 0 评论 -
ESFramework Demo -- 入门Demo,简单的即时通讯系统(附源码)
前面的文章已经介绍完了基于ESFramework/ESPlus进行二次开发的所有要点,现在,我们可以开始小试牛刀了。 本文将介绍使用ESFramework的Rapid引擎开发的两个最简单的Demo,ESFramework.Demos.Simplest 和 ESFramework.Demos.Silverlight。这两个Demo是一个简单的聊天系统,并演示了以下功能:(1)客户端原创 2012-05-22 14:50:52 · 588 阅读 · 0 评论 -
ESFramework 开发手册(09) -- ACK机制与同步调用
正如ESFramework 开发手册(01) -- 发送和处理信息一文中所介绍的,我们在客户端使用ICustomizeOutter接口的Send方法,可以给服务端或其它在线客户端发送自定义信息,那么,如何得知接收方是否已经收到了我们发出的信息了呢?特别是针对一些非常重要的信息,确认对方已经收到是非常重要的。ICustomizeOutter接口的SendCertainly方法就使用了带ACK机制的发原创 2012-05-22 14:46:04 · 509 阅读 · 0 评论 -
ESFramework 开发手册(10) -- 安全机制
在分布式通信系统中,安全无疑是非常重要的。 ESFramework/ESPlus作为应用层的开发框架,在这里我们只讨论应用层的安全问题,因为如果黑客是在网络层或链路层进行攻击,位于应用层的系统几乎是无能为力的。从应用层来说,安全的重要性主要体现在以下几个方面:(1) 防止恶意用户使用格式不正确的消息来试探服务端。(2) 防止通信的消息被恶意用户截获,或者,即使被恶意用户截获,原创 2012-05-22 14:49:30 · 393 阅读 · 0 评论 -
ESFramework 使用技巧 -- P2P服务器
可靠的P2P通信功能是ESFramework/ESPlus提供的一个基础而又强大的功能,ESFramework 开发手册(04) -- 可靠的P2P详细描述了在客户端如何使用框架提供的这一武器。本文我们则将介绍的重点放到P2P服务端。 P2P服务器用于协助客户端搭建P2P通道。在ESPlus3.0以前的版本中,P2P服务器是集成在服务端Rapid引擎中的。在2012.04.23最新发原创 2012-05-22 15:19:51 · 569 阅读 · 0 评论 -
ESFramework 使用技巧 -- 信息处理,分而治之
ESFramework开发手册系列文章已经详细介绍了如何使用ESPlus提供的ESPlus.Application.CustomizeInfo空间来发送和处理自定义信息,而且,在我们在前面介绍的demo中,也展示了如何定义信息类型、信息协议,以及如何实现ICustomizeHandler来处理接收到的信息。在一般业务简单的系统中,我们完全可以像demo一样,在一个CustomizeHandler类原创 2012-05-22 15:17:08 · 352 阅读 · 0 评论 -
ESFramework 4.0 性能测试
本实验用于测试ESFramework服务端引擎的性能,测试程序使用最新发布的ESFramework 4.0.7.0版本。 一.准备工作测试的机器总共有3台,都是普通的PC,一台作为服务器,两台作为客户端。作为服务器是PC配置如下:操作系统:Windows Server 2003 Enterprise Edition SP2CPU:Pentium Dual-Core CP原创 2012-05-22 14:52:16 · 277 阅读 · 0 评论 -
ESFramework Demo -- 文件传送Demo(附源码)
现在我们将在ESFramework 开发手册(11) -- 入门Demo,简单的即时通讯系统 的基础上,使用ESPlus提供的第三个武器,为其增加文件传送的功能。在阅读本文之前,请务必先掌握ESFramework 开发手册(03) -- 文件(夹)传送 一文中介绍的文件传送的流程及相关的API的用法。 本文的demo仅仅实现了客户端与客户端之间的文件传送,至于传送文件夹,以及原创 2012-05-22 14:53:37 · 446 阅读 · 0 评论 -
ESFramework Demo -- P2P通信Demo(附源码)
现在我们将在ESFramework Demo -- 文件传送Demo 的基础上,使用ESPlus提供的第四个武器,为其增加P2P通信的功能。在阅读本文之前,请务必先掌握ESFramework 开发手册(04) -- 可靠的P2P 一文中介绍的P2P的基础知识以及相关API的用法。 本Demo主要演示以下功能:(1)创建基于TCP的P2P通道(2)创建基于UDP的P2P通道原创 2012-05-22 14:54:26 · 540 阅读 · 0 评论 -
ESFramework 使用技巧 -- 跨平台开发
随着智能手机和移动平台的迅速崛起,现在的很多应用除了支持PC的桌面平台和Web外,也不得不对移动平台进行支持。 跨平台是ESFramework体系的重要特性之一,ESFramework通过提供多个平台的客户端引擎来实现这一点。我们跨平台解决方案的第一阶段主要任务是对.NET的各种客户端类型和主流移动设备的支持。 所有不同平台类型的客户端引擎都使用几乎完全一致的API原创 2012-05-24 10:25:38 · 495 阅读 · 0 评论 -
ESPlus 3.0 正式发布!
距离ESPlus 2.0发布已经有半年的时间了,在这半年多的时间中,有数十家公司在他们的项目或产品中正式使用了ESFramework 4.0,并根据实际的使用状况,给我们反馈了很多有益的建议。基于这些建议和ESFramework的长期发展规划,今天,我们推出了ESPlus 3.0 。在新版本的ESFramework/ESPlus中,我们重构了部分接口,这将使得框架的使用更加容易上手;新版本也加入了原创 2012-05-24 10:19:49 · 800 阅读 · 0 评论 -
ESFramework 使用技巧 -- 使用紧凑的序列化器,数倍提升性能
在分布式通信系统中,网络传递的是二进制流,而内存中是我们基于对象模型构建的各种各样的对象,当我们需要将一个对象通过网络传递给另一个节点时,首先需要将其序列化为字节流,然后通过网络发送给目标节点,目标节点接收后,再反序列化为对象实例。在ESFramework体系中,也是遵循同样的规则。 ESFramework称这些需要经过网络传递的对象称之为协议类(Contract),协议类通常只是一原创 2012-05-22 14:57:26 · 398 阅读 · 0 评论 -
ESFramework 使用技巧 -- 实现监控
有些使用ESFramework/ESPlus进行二次开发的朋友,经常来询问要如何做才能在服务端监控客户端发送的所有或部分重要的自定义信息了?鉴于这是一个比较常见的需求,所以,这里我们就简单介绍一下如何在基于ESFramework/ESPlus开发的系统上增加信息监控的功能。 一.深入ICustomizeInfoOutter接口 正如ESFramework 开发手册(01) -- 发送原创 2012-05-22 15:15:56 · 325 阅读 · 0 评论 -
如何实现自动升级?
目前主流的程序自动升级策略是,重新下载最新的安装包,然后重新安装整个客户端。OAUS自动升级系统可以对被分发的客户端程序中的每个文件进行版本管理,每次升级的基础单元不再是整个客户端程序,而是其中的单个文件。原创 2015-09-01 17:50:57 · 997 阅读 · 0 评论
分享