高性能跨平台网络通信框架 HP-Socket v5.4.3

HP-Socket

HP-Socket提供以下几类组件,详细内容请参考《HP-Socket网络通信框架开发指南》:

  • Server: 基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。
  • Agent: Agent组件实质上是Multi-Client组件,与Server组件采用相同的技术架构。一个Agent组件对象可同时建立和高效处理大规模Socket连接。
  • Client: 基于Event Select / POLL通信模型,每个组件对象创建一个通信线程并管理一个Socket连接,适用于小规模客户端场景。

v5.4.3 更新

  1. HTTP 组件更新
  • HTTP 组件可以手工启动 HTTP 通信,从而可以对 HTTP 通信执行 SOCKS 代理服务器设置等前置操作
  • HTTP 组件(Server/Agent/Client)增加以下接口方法支持手工启动 HTTP 通信
1) StartHttp():手工启动 HTTP 通信,当通信组件设置为非自动启动时,需要调用本方法启动 HTTP 通信
2) SetHttpAutoStart():设置 HTTP 通信启动方式(默认:TRUE,自动启动)
3) IsHttpAutoStart():获取 HTTP 通信启动方式
  1. 其他更新
  • Bug 修复:UDP Server 在高并发场景下可能重复触发 OnAccept 事件

v5.4.2 更新

  1. SSL 组件更新
  • SSL 组件可以手工启动 SSL 握手,从而可以对 SSL/Https 通信执行代理服务器设置等前置操作
  • SSL 组件(Server/Agent/Client)增加以下接口方法支持手工启动 SSL 握手
1) StartSSLHandShake():手工启动 SSL 握手,当通信组件设置为非自动握手时,需要调用本方法启动 SSL 握手
2) SetSSLAutoHandShake():设置通信组件握手方式(默认:TRUE,自动握手)
3) IsSSLAutoHandShake():获取通信组件握手方式
  1. 其他更新
  • 所有可能导致 Socket 关闭的组件接口方法都在 Socket 通信线程中异步触发 OnClose 事件
  • Server 与 Agent 组件的 DIRECT 发送策略也支持通过 GetPendingDataLength() 方法实现流控
  • Server 与 Agent 组件的 Disconnect() 方法不再支持‘非强制断开’(仍然保留bForce 参数),调用时都会强制断开
  • OnSend 事件支持 三种同步策略
1) OSSP_NONE:不同步(默认)
2) OSSP_CLOSE:同步 OnClose
3) OSSP_RECEIVE:同步 OnClose 和 OnReceive(只用于 TCP 组件)
  • OpenSSL 版本升级到 1.1.0i 版本

v5.4.1 更新

  1. 加入线程池公共组件
  • 加入 IHPThreadPool 线程池公共组件
  • IHPThreadPool 主要方法
1) Start:启动线程池
2) Stop:关闭线程池
3) Submit:提交任务
4) AdjustThreadCount:调整线程池大小
  1. 接口更新
  • IAgent 接口的 Connect() 方法增加参数 usLocalPort,连接时可绑定本地端口
  • IClient 接口的 Start() 方法增加参数 usLocalPort,连接时可绑定本地端口
  • IClient/IAgent/IServer 接口增加方法 IsConnected(),检测是否有效连接
  1. 其它更新
  • 修复已知问题
  • 性能优化

v5.3.2 更新

  1. Linux版本更新
  • Android NDK 支持:所有组件源码均可使用Android NDK编译,在Android平台上运行
  • Bug修复:5.3.1版本中用dlopen()动态加载共享库失败
  • 增加 _ICONV_DISABLED 预编译宏用于关闭 iconv 库功能
  • 增加 _ZLIB_DISABLED 预编译宏用于关闭 zlib 库功能
  • 如果想去除 SSL 或 HTTP 组件,可以分别定义 _SSL_DISABLED 或 _HTTP_DISABLED 宏重新编

  1. Windows版本更新
  • 修复 C# SDK 关于 SSL 初始化失败 Bug
  • 增加 _ZLIB_DISABLED 预编译宏用于关闭 zlib 库功能
  1. 其它更新
  • http-parser 解析器升级到 2.8.1 版本
  • OpenSSL 版本升级到 1.1.0h
  • jemalloc 版本升级到 5.1.0 版本

v5.2.1 更新

  1. 发布包调整
  • 版本号修订:Windows 和 Linux 发行版使用统一版本号
  • 发布文件不再区分非 SSL DLL 和 SSL DLL,统一为 HPSocket DLL 和 HPSocket4C DLL
  • 发布文件默认包含 SSL 和 HTTP 组件
  • 如果想去除 SSL 或 HTTP 组件,可以分别定义 _SSL_DISABLED 或 _HTTP_DISABLED 宏重新编
  1. 新增 Linux SSL 组件
  • Server: SSL Server, SSL Pull Server, SSL Pack Server
  • Agent: SSL Agent, SSL Pull Agent, SSL Pack Agent
  • Client: SSL Client, SSL Pull Client, SSL Pack Client
    这里写图片描述
  1. 新增 Linux HTTP 组件
  • Server: HTTP Server, HTTPS Server
  • Agent: HTTP Agent, HTTP Agent
  • Client: HTTP Client, HTTP Client, HTTP Sync Client, HTTPS Sync Client
    这里写图片描述
  1. 新增 Linux Demo
  • testecho-ssl: (SRC) SSL simple test echo server/agent/client
  • testecho-ssl-pfm: (SO) SSL performance test echo server/agent/client
  • testecho-ssl-pull: (SO) SSL pull echo server/agent/client
  • testecho-ssl-pack: (4C SO) SSL pack echo server/agent/client
  • testecho-http: (SRC) HTTP simple test echo server/agent/client/sync-client

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。HP-Socket 对通信层实现完全封装,应用程序不必关注通信层的任何细节;HP-Socket 提供基于事件通知模型的 API 接口,能非常简单高效地整合到新旧应用程序中。    为了让使用者能方便快速地学习和使用 HP-Socket ,迅速掌握框架的设计思想和使用方法,特此精心制作了大量 Demo 示例(如:PUSH 模型示例、PULL 模型示例、PACK 模型示例、性能测试示例以及其它编程语言示例)。HP-Socket 目前运行在 Windows 平台,将来会实现跨平台支持。 [15:47 2018/11/05] 同步更新到5.4.2正式版 [10:37 2018/10/23] 1、英文模块IHttpSyncClient组件大改 2、IWinHttp组件添加若干命令(PS:忘记是哪些了。。。) 3、升级到5.4.2 rc3 版本 4、增加client同步例子 [10:30 2018/9/25] v5.4.2 更新: > SSL 组件更新: ----------------- 1、SSL 组件可以手工启动 SSL 握手,从而可以对 SSL/Https 通信执行代理服务器设置等前置操作 2、SSL 组件(Server/Agent/Client)增加以下接口方法支持手工启动 SSL 握手 1) StartSSLHandShake():手工启动 SSL 握手,当通信组件设置为非自动握手时,需要调用本方法启动 SSL 握手 2) SetSSLAutoHandShake():设置通信组件握手方式(默认:TRUE,自动握手) 3) IsSSLAutoHandShake():获取通信组件握手方式 > 其他功能更新: ----------------- 1、所有可能导致 Socket 关闭的组件接口方法都在 Socket 通信线程中异步触发 OnClose 事件 2、Server 与 Agent 组件的 DIRECT 发送策略也支持通过 GetPendingDataLength() 方法实现流控 3、Server 与 Agent 组件的 Disconnect() 方法不再支持‘非强制断开’(仍然保留bForce 参数),调用时都会强制断开 4、OnSend 事件支持 三种同步策略 1) OSSP_NONE:不同步(默认) 1) OSSP_CLOSE:同步 OnClose 1) OSSP_RECEIVE:同步 OnClose 和 OnReceive(只用于 TCP 组件) > 升级说明: ----------------- 1、HP-Socket v5.4.2 完全兼容 HP-Socket v5.4.1 版本,可以直接替换升级 [18:41 2018/8/27] 1、修复英文模块submit_task最后一个参数错误问题,莫名其妙变成了字节集 [11:04 2018/8/27] 1、更新hpsocket为 beta11 2、submit_task 提交的任务不用去管回调里面的ptask参数。内部自动处理。 [16:57 2018/8/24] 1、修复中文模块部分命令错误问题 2、修复英文模块几处命令错误问题 3、增加websocket例程,本来httpclient里面人,有些人就是装看不见。 4、更新hpsocket为 beta9 [12:57 2018/8/15] 1、修复模块汇编的bug,原因是取消了ww汇编库 [11:55 2018/8/15] 1、模块更新为beta8 2、新增api: HP_Agent_IsConnected  -->  Agent.IsConnected() HP_Client_IsConnected  -->  Client.IsConnected() HP_Server_IsConnected  -->  Server.IsConnected() [9:18 2018/8/6] 1、性能优化 2、由于某些人吐槽中文版模块吐槽的厉害,遂决定不再更新中文版。 3、\demo\old 目录下放的是以前旧的例程源码,并不再更新 [12:57 2018/8/1] 修改模块IBufferPtr类,具体调用方式查看 TestEcho-New-Agent.e TestEcho-New-Server.e TestEcho-Http-Serve.e TestEcho-Http-Serve-bigfile.e  改名为 TestEcho-Ht
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值