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

简介: 概述   ESPlus 是基于网络通信框架ESFramework通信框架通信框架的增强库。为了更贴近实际应用,加快网络通信系统的开发,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状态查看器等等。

 

 

目录
相关文章
|
19天前
|
数据采集 存储 API
Python 网络请求:深入理解Requests库
Python 网络请求:深入理解Requests库
53 0
|
3天前
|
网络协议 算法 Java
【Java网络编程】网络编程概述、UDP通信(DatagramPacket 与 DatagramSocket)
【Java网络编程】网络编程概述、UDP通信(DatagramPacket 与 DatagramSocket)
16 3
|
3天前
|
存储 网络协议 Linux
RTnet – 灵活的硬实时网络框架
本文介绍了开源项目 RTnet。RTnet 为以太网和其他传输媒体上的硬实时通信提供了一个可定制和可扩展的框架。 本文描述了 RTnet 的架构、核心组件和协议。
11 0
RTnet – 灵活的硬实时网络框架
|
4天前
|
安全
AC/DC电源模块在通信与网络设备中的应用的研究
AC/DC电源模块在通信与网络设备中的应用的研究
AC/DC电源模块在通信与网络设备中的应用的研究
|
4天前
BOSHIDA AC/DC电源模块在通信与网络设备中的应用研究
BOSHIDA AC/DC电源模块在通信与网络设备中的应用研究
BOSHIDA AC/DC电源模块在通信与网络设备中的应用研究
|
14天前
|
存储 网络安全 数据安全/隐私保护
【专栏】Python 网络设备管理中,`ConnectHandler`(Paramiko库)和`telnetlib`模块常用于设备交互。
【4月更文挑战第28天】Python 网络设备管理中,`ConnectHandler`(Paramiko库)和`telnetlib`模块常用于设备交互。`ConnectHandler`简化SSH连接,便于与网络设备交互,而`telnetlib`是Python内置模块,支持Telnet协议的远程登录操作。两者都提供命令执行和响应接收功能。示例代码展示了如何使用它们获取防火墙设备的版本信息,降低了代码复杂度,提高了可读性和维护性。
|
16天前
|
安全 数据安全/隐私保护 智能硬件
|
19天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
19天前
|
数据采集 API Python
Python 初步了解urllib库:网络请求的利器
Python 初步了解urllib库:网络请求的利器
41 0
|
23天前
|
Python
使用Python的Requests库进行网络请求和抓取网页数据
【4月更文挑战第20天】使用Python Requests库进行网络请求和网页数据抓取的步骤包括:安装库(`pip install requests`)、导入库、发送GET/POST请求、检查响应状态码、解析内容、处理Cookies、设置请求头以及异常处理。通过`response`对象访问响应信息,如`status_code`、`text`、`content`和`cookies`。可设置`headers`模拟用户代理,用`try-except`处理异常。
21 7