为大家推荐一款网络通信应用框架
ESPlus 网络通信应用开发利器!概述
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状态查看器等等。