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

Ldcsaa 2018-12-06 10:09:37
加精


项目主页 : http://www.oschina.net/p/hp-socket
开发文档 : http://www.docin.com/p-2154702652.html
下载地址 : https://github.com/ldcsaa/HP-Socket
QQ Group : 75375912, 44636872

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

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

v5.4.3 更新

一、HTTP 组件更新
1. HTTP 组件可以手工启动 HTTP 通信,从而可以对 HTTP 通信执行 SOCKS 代理服务器设置等前置操作
2. HTTP 组件(Server/Agent/Client)增加以下接口方法支持手工启动 HTTP 通信
1) StartHttp():手工启动 HTTP 通信,当通信组件设置为非自动启动时,需要调用本方法启动 HTTP 通信
2) SetHttpAutoStart():设置 HTTP 通信启动方式(默认:TRUE,自动启动)
3) IsHttpAutoStart():获取 HTTP 通信启动方式

二、其他更新
1. Bug 修复:UDP Server 在高并发场景下可能重复触发 OnAccept 事件

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:不同步(默认)
2) OSSP_CLOSE:同步 OnClose
3) OSSP_RECEIVE:同步 OnClose 和 OnReceive(只用于 TCP 组件)
5. OpenSSL 版本升级到 1.1.0i 版本

v5.4.1 更新

一、加入线程池公共组件
1. 加入 IHPThreadPool 线程池公共组件
2. IHPThreadPool 主要方法
1) Start:启动线程池
2) Stop:关闭线程池
3) Submit:提交任务
4) AdjustThreadCount:调整线程池大小

二、接口更新
1. IAgent 接口的 Connect() 方法增加参数 usLocalPort,连接时可绑定本地端口
2. IClient 接口的 Start() 方法增加参数 usLocalPort,连接时可绑定本地端口
3. IClient/IAgent/IServer 接口增加方法 IsConnected(),检测是否有效连接

三、其它更新
1. 修复已知问题
2. 性能优化

v5.3.2 更新

一、Linux版本更新
1. Android NDK 支持:所有组件源码均可使用Android NDK编译,在Android平台上运行
2. Bug修复:5.3.1版本中用dlopen()动态加载共享库失败
3. 增加 _ICONV_DISABLED 预编译宏用于关闭 iconv 库功能
4. 增加 _ZLIB_DISABLED 预编译宏用于关闭 zlib 库功能




二、Windows版本更新
1. 修复 C# SDK 关于 SSL 初始化失败 Bug
2. 增加 _ZLIB_DISABLED 预编译宏用于关闭 zlib 库功能

三、其它更新
1. http-parser 解析器升级到 2.8.1 版本
2. OpenSSL 版本升级到 1.1.0h
3. jemalloc 版本升级到 5.1.0 版本

v5.2.1 更新

一、发布包调整
1. 版本号修订:Windows 和 Linux 发行版使用统一版本号
2. 发布文件不再区分非 SSL DLL 和 SSL DLL,统一为 HPSocket DLL 和 HPSocket4C DLL
3. 发布文件默认包含 SSL 和 HTTP 组件
4. 如果想去除 SSL 或 HTTP 组件,可以分别定义 _SSL_DISABLED 或 _HTTP_DISABLED 宏重新编

二、新增 Linux SSL 组件
1. Server: SSL Server, SSL Pull Server, SSL Pack Server
2. Agent: SSL Agent, SSL Pull Agent, SSL Pack Agent
3. Client: SSL Client, SSL Pull Client, SSL Pack Client


三、新增 Linux HTTP 组件
1. Server: HTTP Server, HTTPS Server
2. Agent: HTTP Agent, HTTP Agent
3. Client: HTTP Client, HTTP Client, HTTP Sync Client, HTTPS Sync Client


四、新增 Linux Demo
1. testecho-ssl: (SRC) SSL simple test echo server/agent/client
2. testecho-ssl-pfm: (SO) SSL performance test echo server/agent/client
3. testecho-ssl-pull: (SO) SSL pull echo server/agent/client
4. testecho-ssl-pack: (4C SO) SSL pack echo server/agent/client
5. testecho-http: (SRC) HTTP simple test echo server/agent/client/sync-client
6. testecho-http-4c: (4C SO) HTTP simple test echo server/agent/client/sync-client
...全文
7159 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwe3632035 2019-04-14
  • 打赏
  • 举报
回复
谢谢LZ。。。
Ldcsaa 2019-03-04
  • 打赏
  • 举报
回复
高性能跨平台网络通信框架 HP-Socket v5.4.4
https://bbs.csdn.net/topics/392520465
末先 2018-12-25
  • 打赏
  • 举报
回复
lx624909677 2018-12-20
  • 打赏
  • 举报
回复
轻箬笠 2018-12-20
  • 打赏
  • 举报
回复
接分
xwj 2018-12-18
  • 打赏
  • 举报
回复
学习了,谢谢分享
xwj 2018-12-17
  • 打赏
  • 举报
回复
学习了,谢谢分享
weixin_44124917 2018-12-17
  • 打赏
  • 举报
回复
支持!
@风轻云淡_ 2018-12-11
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
66666666666666666666666666
jacksonfan 2018-12-09
  • 打赏
  • 举报
回复
Ldcsaa 2018-12-07
  • 打赏
  • 举报
回复
引用 13 楼 赵4老师 的回复:

怎么还没推荐首页呀?老师!!
zhangjinsong8727 2018-12-06
  • 打赏
  • 举报
回复
一如既往支持!
qq_41804166 2018-12-06
  • 打赏
  • 举报
回复
感谢,大神...................
casmzxp 2018-12-06
  • 打赏
  • 举报
回复
感谢辛苦的付出,支持中
u010499360 2018-12-06
  • 打赏
  • 举报
回复
很强大,用的方便
勤奋刻苦c++ 2018-12-06
  • 打赏
  • 举报
回复
感谢大佬们的无私奉献
weixin_43197280 2018-12-06
  • 打赏
  • 举报
回复
zan.赞赞
nyistshhjmf 2018-12-06
  • 打赏
  • 举报
回复
高性能 非常好用
当凸遇见凹凹 2018-12-06
  • 打赏
  • 举报
回复
疯狂打Call
加载更多回复(6)
Apache JMeter (apache-jmeter-5.4.3.zip)可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。 Apache JMeter 功能包括: 能够加载和性能测试许多不同的应用程序/服务器/协议类型: 网络 - HTTP、HTTPS(Java、NodeJS、PHP、ASP.NET,...) SOAP/REST 网络服务 FTP 通过 JDBC 数据库 LDAP 通过 JMS 的面向消息的中间件 (MOM) 邮件 - SMTP(S)、POP3(S) 和 IMAP(S) 本机命令或 shell 脚本 TCP Java 对象 全功能测试 IDE,允许快速记录测试计划(来自浏览器或本机应用程序)、构建和调试。 CLI 模式(命令行模式(以前​​称为非 GUI)/无头模式)从任何 Java 兼容操作系统(Linux、Windows、Mac OSX 等)加载测试 完整且可随时呈现的动态 HTML 报告 通过从最流行的响应格式、HTML、JSON、 XML或任何文本格式中提取数据的能力轻松关联 完全可移植性和100% Java 纯度。 完整的多线程框架允许多个线程并发采样和不同线程组同时采样不同功能。 缓存和离线分析/重放测试结果。 高度可扩展的核心: 可插拔采样器允许无限的测试功能。 可编写脚本的采样器(与 JSR223 兼容的语言,如Groovy和 BeanShell) 可以使用可插拔计时器选择多个负载统计信息。 数据分析和可视化插件允许极大的可扩展性和个性化。 函数可用于为测试提供动态输入或提供数据操作。 通过适用于 Maven、Gradle 和 Jenkins 的第3方开源库轻松实现持续集成。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧