网络通信应用开发利器!—— ESPlus —— ESFramework通信框架的增强库

概述

  ESPlus 是基于网络通信框架ESFramework通信框架通信框架的增强库。为了更贴近实际应用,加快网络通信系统的开发,ESPlus在ESFramework通信框架原生功能的基础上,进行了再次封装,提供了大多数通信系统中经常用到的组件和功能。在这些功能中,最主要的是:自定义信息、基础API与状态通知、文件传送、P2P框架、好友关系、组关系、Rapid引擎。 

1.自定义信息

  使用通信框架最基础的需求就是收发信息,ESPlus底层已经为我们封装好了所有与信息收发相关的操作,我们只要调用ICustomizeOutter的相关API来发送信息,以及实现处理器接口ICustomizeHandler来处理收到的信息就可以了。 ESPlus的自定义信息功能还支持发送大数据块信息(Blob)、信息同步调用、回复异步调用、发送模型选择(同步/异步)、通道繁忙时的策略选择(比如在通道繁忙时可以丢弃消息或继续发送消息)等功能。 更多介绍

2.基础API与状态通知

  在解决了发送信息和处理信息之后,还有一些基础功能几乎是所有的分布式通信系统都需要用到的。比如,设置消息最大长度、设置用户帐号最大长度等基础配置。另外,在客户端可能需要了解:当前的网络连接状态及其变化、是否被踢出、是否有同名用户在其它地方登录、是否自动重连等。而在服务端可能需要了解:验证登录的用户、当前在线的用户列表、设置重登陆模式,等等。 更多介绍

3.文件传送

  ESPlus定义了文件传送的标准流程,并实现了这个流程。我们只要调用相应的API,就能使这个流程运行起来。而且,无论是客户端与客户端之间相互传送文件,还是服务端与客户端之间传送文件(即上传或下载),都遵循同样的文件传送流程。ESPlus也支持文件夹的传送,其使用与文件传送一样的API。另外,ESPlus在内部自动启用了断点续传的功能。 更多介绍

4.P2P

  ESPlus内置了可靠的P2P框架,客户端只要调用一个API,框架底层就会自动尝试创建P2P通道。P2P通道底层采用的可能TCP协议或者UDP协议,即使采用的UDP协议也没关系,ESPlus对UDP做了增强,以保证基于UDP的P2P通信也像TCP一样可靠。在客户端之间需要高频通信的分布式系统中,使用可靠的P2P通信将可以节省巨大的带宽和服务器成本。  更多介绍

5.好友关系

  好友关系属于ESPlus提供的可选功能。由于在分布式通信系统中经常有好友关系的需求,所以ESPlus直接内置了对其简单的支持。只要实现简单的IFriendsManager接口,客户端就能实时获得好友上下线通知。  更多介绍

6.组关系

  组友关系也属于ESPlus提供的可选功能。如果实现了IGroupManager接口,客户端就能实时获得组友上下线通知,并且只要掉调用一个简单的API,就可以在目标组内广播消息。并且,广播时可以优先选择使用P2P通道,对某些组友如果P2P通道不存在,则才经过服务器中转。  更多介绍

7.Rapid引擎

  Rapid引擎将上述的所有功能组件集成为一个整体,并在内部将它们协调它们的工作。只要在客户端或服务端创建并初始化相应的Rapid引擎,透过引擎暴露出的接口,就可以使用上述功能了。 更多介绍

      除上述描述的组件外,ESPlus还提供了一些好用的辅助功能,像高效的二进制序列化器、安全日志记录器、默认的服务端主界面窗体、文件传送状态查看器、P2P状态查看器等等。

 

 

时间: 2024-12-23 22:20:25

网络通信应用开发利器!—— ESPlus —— ESFramework通信框架的增强库的相关文章

ESFramework 通信框架安全机制的设计与实现

      在分布式通信系统中,安全无疑是非常重要的.ESFramework通信框架提供了哪些安全保障了?由于ESFramework通信框架是应用层的开发框架,那么本文我们只讨论ESFramework通信框架在应用层涉及到的安全问题.如果黑客是在网络层或链路层进行攻击,位于应用层的系统是无能为力的.从应用层来说,安全的重要性主要体现在以下几个方面:(1) 防止恶意用户使用格式不正确的消息来试探服务端.(2) 防止通信的消息被恶意用户截获,或者,即使被恶意用户截获,也无法破解其内容.(3) 防止恶

可靠通信的保障 —— 使用ACK机制发送自定义信息——ESFramework 通信框架4.0 快速上手(12)

      (本文所介绍的新功能位于2011.04.18发布的最新版本中,此次版本变更请参见ESFramework通信框架通信框架 4.0 版本升级说明(持续更新))       使用ESPlus.Application.CustomizeInfo.Passive.ICustomizeInfoOutter接口的Send方法,我们已经可以给服务端或其它在线客户端发送自定义信息了,那么,如何得知接收方是否已经收到了我们发出的信息了呢?特别是针对一些非常重要的信息,确认对方已经收到是非常重要的.ICu

websocket即时通讯java SpringMVC mybatis 后台框架 集成代码生成器开发利器

A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块C 集成阿里巴巴数据库连接池druid  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势D 集成安全权限框架shiro  Shiro 是一个用 Java 语言

PHP开发利器-PRADO 1.6编程

ado|编程   第2章 用PRADO编程 现在让我们更深入的了解一下PRADO框架.这一章我们会介绍一些框架的基本概念和如何使用现有的PRADO组件来开发一个PRADO应用. 2.1  组件 根据Clemens Szyperski的说法, ``软件组件是一个具有特定接口的组合单元,可以独立存在,参与组成其它组建.'' 在PRADO中, 组件是 TComponent 或者其子类的实例.PRADO框架中已经包括了 TComponent 类,它主要实现了组件的属性和事件机制. 属性可以被认为是描述组

Apache Mina通信框架架构与应用

Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于 TCP/IP.UDP/IP协议栈的通信框架(当然,也可以提供 JAVA 对象的序列化服务.虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能.高扩展性的网络通信应用,Mina 提供了事件驱动.异步(Mina 的异步 IO 默认使用的是 JAVA NIO 作为底层支持)操作的编程模型.从官网文档"MINA based Application Architecture"中可以看到Mina作为一

AgileEAS.NET SOA 中间件平台.Net Socket通信框架-介绍

一.前言      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本.缩短开发时间,快速适应市场变化的目的.      AgileEAS.NET SOA中间件平台提供了敏捷快速开发软件工程的最佳实践,通过提供大量的基础支撑功能如IOC.ORM.SOA.分布式体系及敏捷并发开发方法所支撑的插件开发体系,以及提供了大量的

PHP开发利器-PRADO 1.6入门与安装

ado   第1章 入门 1.1  PRADO是什么? PRADO是在PHP5环境下的一个基于事件驱动和基于组件的WEB应用开发框架.使用PRADO开发WEB应用,你主要需要做的工作就是使用已有的组件(原文是"实例化已经定义好的组件",熟悉面向对象编程的开发者可能比较容易理解这句话),设置组件的属性,为控件组件的各种事件编写对应的处理函数,然后把这些组织成一个个的页面.(译者注:个人倾向于将component翻译为组件,control翻译为控件,事实上大多数场合两者没有什么区别,但是为

推荐php开发利器 快速创建web应用

近日美国"开源软件"项目Openbiz新发布了一款名为Openbiz Cubi Dev的PHP的应用开发利器,宣称可以让开发人员在3分钟内通过配置和向导完成创建一个功能完善的企业级应用程序.这是空穴来风 还是 锋芒毕露,让我们拭目以待. 上手体验:与 Openbiz的第一次接触 笔者下载了开发安装包后,发现它提供了一个可以在Windows下运行的自动部署工具.跟着官方提供的安装视频教程,很方便就安装在了本地.进入我本机的运行环境,是进一步的数据库配置向导和初始化系统向导.给人的第一感觉

NetworkComms c#通信框架与Java的Netty框架通信 解决粘包问题

问题描述 上次写了一篇文章其中没有解决粘包问题,抛砖引玉,文章得到了失足程序员老师的点评,并给出了解决方案:»于是马上开始学习,并把c#服务器端换成了我比较熟悉的networkcommsv3c#通信框架(商业版,本文并不提供),以方便与已经存在的系统进行整合.客户端没有改动,依旧使用失足程序员老师的netty客户端,proto的message文件也没有变化,具体可以参见上面的文章服务器端由于networkcomms支持与其他语言的通信,所以改动很少修改networkcommsv3框架的源文件<1