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

Ldcsaa Ldcsaa 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区


项目主页 : 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
...全文

相关推荐

HP-Socket v5.7.1网络通信开发库实战指南

HP-Socket 是一个高效的、跨平台的网络编程框架,它支持包括 Windows、Linux 和 BSD 在内的多个操作系统。该框架不仅提供了对 TCP 和 UDP 协议的原生支持,还提供了如 HTTP、HTTPS、WebSocket 等高级协议的抽象。HP-Socket 的设计着眼于高性能、易于使用、稳定性和可维护性。正确配置开发环境,需要了解HP-Socket库的源代码和头文件结构。库文件通常包含核心库文件、依赖库文件和示例代码。

土城三富

基于springboot+vue的摄影作品社区(项目源码)

基于springboot+vue的摄影作品社区(项目源码) 系统采用前后端分离的 B/S 架构。后端基于 Spring Boot 2.7.2 与 Java 1.8 构建,以 MyBatis-Plus 完成数据访问、PageHelper 实现分页,用 MySQL 8 存储业务数据;身份认证采用 Sa-Token 轻量级框架并整合 JWT 令牌,配合 Redis 实现图形验证码缓存与会话存储;前端使用 Vue 3 与 Naive UI 构建界面,由 Vite 完成构建,看板统计图表基于 ECharts 渲染。系统面向普通用户与管理员两类角色:用户端提供注册登录、作品上传与归档、多条件检索浏览、作品集管理、分类与标签管理、摄影圈专题、回收站、个人设置与公告查看等功能;管理端提供数据看板、用户管理与公告管理等功能。

加辣椒了吗?

Vue基于springboot的乡村生态旅游平台_k2864o48毕业设计源码数据库.zip

Vue基于springboot的乡村生态旅游平台_k2864o48毕业设计源码数据库

源码论文专家

Python3 datetime时区避坑指南

原生datetime.now()获取本地时间,不带时区属性,属于 naive时间,跨服务器比对会报错。带时区时间使用datetime.astimezone,强制绑定东八区时区。禁止手动加减8小时修改时差,夏令时更新会导致时间错误。时间计算:timedelta直接实现天数、小时增减,无需手动换算秒数。字符串解析使用strptime,格式化使用strftime,格式符号严格区分大小写,%Y四位年份、%y两位年份极易写错。线上时间异常大多源于时区不统一。 yc.ahsalar.com qsvsnks.yihucx.com tongjiang.xilaohan.com lq.aasmile.com xj.banutech.net

2601_97221268

前端开发基于history.js的HTML5与HTML4浏览器兼容方案:单页应用无刷新历史状态管理技术实现-jcbbroJ3l1792421687

内容概要:本文系统介绍了如何利用history.js实现单页应用(SPA)在HTML5c与HTML4浏览器间s草错发的无缝历史状态管理。通过封装原生History API并在不支持的浏览器中自动降级为哈希路由,history.js解决了因浏览器兼容性导致的后退按钮失效、URL混乱等问题。文章详细讲解了其核心机制,包括状态对象管理、自动模式切换(HTML5 pushState vs HTML4 哈希)、状态数据持久化以及针,对Safari、IE等浏\览器的兼容性修复方案,并提供了从入门到实战的完整示例,涵盖初始化、事,件监听、页面加载及性能优化技巧。;jcbbroJ3l1792421687 www.kfshiye.com www.wap.kfstjx.com www.kuaicai-mro.com lianyingjs.com www.kdd888.com

2601_97196180
评论 26
收藏 已收藏
分享
返回顶部
Ldcsaa
网络编程 18,356 成员 64,161 内容