历史版本下载地址: https://pan.baidu.com/s/1nUXAJRK5fWZcNUwrylvOHw

#HPSocket 易语言模块维护10年之期，从3.1.1(2013年12月25日)版本开始到如今版本，从4.1.4版本开始为HPSocket官方指定易语言模块。模块从无到有，历经10年发展，更迭无数次，重构五次，形成现在稳定的版本。

> 额外说明
1.易语言模块配合 内联汇编器 InlineAssembler 可以使用DLL的导入表调用，且可以直接使用静态库，所以添加动态库和静态库目录，方便有需要的人使用
2.InlineAssembler QQ群: 767562242

############################################################
# _  _   ___   ___    ___     ___   _  __  ___   _____     #
# | || | | _ \ / __|  / _ \   / __| | |/ / | __| |_   _|   #
# | __ | |  _/ \__ \ | (_) | | (__  | ' <  | _|    | |     #
# |_||_| |_|   |___/  \___/   \___| |_|\_\ |___|   |_|     #
#                                                          #
############################################################


[09:54 2024/09/20]
==========================================================================================
v6.0.3 更新：
==========================================================================================

> 主要更新：
-----------------
1、修复BUG：上个版本升级 llhttp 时，意外导出了 llhttp 库函数

> 第三方库更新：
-----------------
1、openssl 升级到 3.0.15

> 升级说明：
-----------------
1、HP-Socket v6.0.2 兼容 HP-Socket v6.0.1 版本，可以直接替换升级

[09:23 2024/08/07]
==========================================================================================
v6.0.2 更新：
==========================================================================================

> 主要更新：
-----------------
1、支持定时回收垃圾内存和被动回收垃圾内存（默认使用定时回收，回收间隔 15 秒）
2、支持在没有安装 MFC 的环境下编译

> 第三方库更新：
-----------------
1、openssl 升级到 3.0.14 版本
2、llhttp 升级到 9.2.1 版本
3、mimalloc 升级到 2.1.7 版本

> 升级说明：
-----------------
1、HP-Socket v6.0.2 兼容 HP-Socket v6.0.1 版本，可以直接替换升级




[09:13 2024/02/01]
==========================================================================================
v6.0.1 更新：
==========================================================================================

> 主要更新：
-----------------
1、用 VS2022 及后续编译器编译 HP-Socket，会自动为 HP-Socket 工作线程设置唯一线程名称，方便跟踪调试
2、TCP Client/Agent 以同步方式连接服务端时，支持通过 SetSyncConnectTimeout() 设置连接超时时间

> 第三方库更新：
-----------------
1、openssl 升级到 3.0.13 版本
2、zlib 升级到 1.3.1 版本

> 升级说明：
-----------------
1、HP-Socket v6.0.1 兼容 HP-Socket v5.9.5 版本，可以直接替换升级

[09:30 2024/01/30]
==========================================================================================
v6.0.1 更新：
==========================================================================================

> 主要更新：
-----------------
1、用 VS2022 及后续编译器编译 HP-Socket，会自动为 HP-Socket 工作线程设置唯一线程名称，方便跟踪调试
2、TCP Client/Agent 以同步方式连接服务端时，支持通过 SetSyncConnectTimeout() 设置连接超时时间

> 第三方库更新：
-----------------
1、zlib 升级到 1.3.1 版本

> 升级说明：
-----------------
1、HP-Socket v6.0.1 兼容 HP-Socket v5.9.5 版本，可以直接替换升级



[11:15 2024/01/29]
==========================================================================================
v6.0.1 更新：
==========================================================================================

> 主要更新：
-----------------
1、用 VS2022 及后续编译器编译 HP-Socket，会自动为 HP-Socket 工作线程设置唯一线程名称，方便跟踪调试
2、TCP Client/Agent 以同步方式连接服务端时，支持通过 SetSyncConnectTimeout() 设置连接超时时间

> 第三方库更新：
-----------------
1、zlib 升级到 1.3.1 版本

> 升级说明：
-----------------
1、HP-Socket v6.0.1 兼容 HP-Socket v5.9.5 版本，可以直接替换升级	



[10:03 2024/01/20]
==========================================================================================
v6.0.1 更新：
==========================================================================================
HP-Socket-v6.0.1-beta2 测试版更新：

Linux：
1、优化epoll多路复用事件处理，避免“惊群”问题。
2、自动为 HP-Socket 工作线程设置唯一线程名称，方便跟踪调试。

Windows：
1、用 VS2022 及后续编译器编译 HP-Socket，会自动为 HP-Socket 工作线程设置唯一线程名称，方便跟踪调试。


[09:56 2024/01/20]
==========================================================================================
v5.9.5 更新：
==========================================================================================

> 主要更新：
-----------------
1、问题修复：由于 v5.9.4 版本升级了 KCP 导致 UDP ARQ 组件不可用

> 升级说明：
-----------------
1、HP-Socket v5.9.5 兼容 HP-Socket v5.9.4 版本，可以直接替换升级


[09:33 2023/12/27]
==========================================================================================
v5.9.4 更新：
==========================================================================================

> 第三方库更新：
-----------------
1、openssl 升级到 3.0.12 版本
2、llhttp 升级到 9.1.3 版本
3、brotli 升级到 1.1.0 版本

> 升级说明：
-----------------
1、HP-Socket v5.9.4 兼容 HP-Socket v5.9.3 版本，可以直接替换升级

> 额外说明
1.易语言模块配合 内联汇编器 InlineAssembler 可以使用DLL的导入表调用，且可以直接使用静态库，所以添加动态库和静态库目录，方便有需要的人使用
2.InlineAssembler QQ群: 767562242
3.额外新增一个 HP_Socket_new.ec ，里面把监听器单独放出来了，不和具体组件放一起了。使用方式请自行查看模块命令。


[09:45 2023/08/10]
> 主要更新：本次主要为模块更新，改善BUG
-----------------
1.修复IHttpParam类解析错误问题，没有正确判断结尾。
2.修复IHttpAgent.SendPutEx 是否为空问题


[09:24 2023/08/08]
> 主要更新：本次主要为模块更新，改善BUG
-----------------
1.修复通用性转换指针代码无效问题。


[13:31 2023/08/07]
> 主要更新：
-----------------
1、问题修复：通过 POST/PUT 等带有请求内容的 HTTP 方法升级 websocket 协议时，可能会导致 HTTP Server 异常
2、UDP Client/Server 之间的单个心跳包发送失败不会立刻断开连接，只检测心跳是否超时来判断是否要断开连接

> 第三方库更新：
-----------------
1、openssl 升级到 1.1.1v 版本
2、llhttp 升级到 8.1.1 版本

> 升级说明：
-----------------
1、HP-Socket v5.9.3 兼容 HP-Socket v5.9.2 版本，可以直接替换升级


[11:28 2023/08/02]
> 主要更新：本次主要为模块更新，改善BUG
-----------------
1.修改所有 this.Send*Ex() 接口的数据参数不能为空，否则为触发易语言编译时BUG，导致发送异常数据。




[13:30 2023/07/03]
> 主要更新：本次主要为模块更新，改善BUG和用法
-----------------
1.修改模块使用内存申请为 HP-Socket提供是 SYS_Free/SYS_Malloc/SYS_Realloc 方法，并删除自带的
2.所有例程全部修正调用方法适应最新的模块
3.如果要使用例程来测试多线程，请把 LogMsg() 添加临界区/互斥锁之类的防止多线程调用列表框导致崩溃




[18:10 2023/07/01]
> 主要更新：本次主要为模块更新，改善用法
-----------------
1.添加一个 IHttpParam 类 来解析 url 和 post 表单 参数，当然也可以序列化为参数
2.IBufferPtr 添加一个脱离指针的方法 this.DetachPtr() 可以把http的post数据 脱离出来交给其它线程使用，TestEcho-Http-Server.e 已经改为脱离指针了，可以查看一下
3.IBufferPtr 修复方法 this.cat() 为通用型，方便添加不同的数据，如: 文本型、文本指针(带0结尾)、字节集
4.给 Fun 程序集下的压缩/解压/编码转换添加一个返回结果长度的参数，方便在其它方法里面使用长度，而不用再次去获取



[11:44 2023/06/26]	
> 主要更新：本次主要为模块更新，修复一些BUG和改善用法
-----------------
1.所有组件删除Send*Text,Send*Bytes 之类的方法
2.所有Send*(如：Send/SendPost/SendPut/SendWSMessage 之类) 的方法为发送数据指针
3.添加SendEx/SendPostEx/SendPutEx/SendWSMessageEx之类的扩展方法，发送数据为通用型,可以是字节集、文本型、文本指针(必须带0结尾,如果不带0则使用相同命令名不带Ex结尾的命令)    	
4.修复一些BUG


[10:00 2023/06/16]
==========================================================================================
v5.9.2 更新：
==========================================================================================

> 主要更新：
-----------------
1、HTTP Cookie 请求和响应头 ‘Cookie’、‘Set-Cookie’ 支持不区分大小写
2、小范围代码优化

> 第三方库更新：
-----------------
1、openssl 升级到 1.1.1u 版本

> 升级说明：
-----------------
1、HP-Socket v5.9.2 兼容 HP-Socket v5.9.1 版本，可以直接替换升级




[10:16 2023/02/20]
1.修复上次修改模块代码结构导致的 压缩/解压相关的若干 API 参数不正确的问题



[10:00 2023/01/07]
> 主要更新：
-----------------
1、更新流式压缩/解压相关的若干 API，支持分段压缩/解压（参考：Change-APIs.txt）

HP_Compressor_ProcessEx						(增加)
Create_HP_GZipDecompressorEx				(增加)
Create_HP_BrotliDecompressorEx				(增加)
Create_HP_ZLibCompressorEx					(修改：增加参数 DWORD dwBuffSize)
Create_HP_GZipCompressorEx					(修改：增加参数 DWORD dwBuffSize)
Create_HP_ZLibDecompressorEx				(修改：增加参数 DWORD dwBuffSize)
Create_HP_BrotliCompressorEx				(修改：增加参数 DWORD dwBuffSize)

> 第三方库更新：
-----------------
1、llhttp 升级到 8.1.0 版本
2、zlib 升级到 1.2.13 版本
3、openssl 升级到 1.1.1s 版本
4、mimalloc 升级到 1.7.9 版本
5、jemalloc 升级到 5.3.0 版本

> 升级说明：
-----------------
1、除了流式压缩/解压相关的若干 API 外，HP-Socket v5.9.1 兼容 HP-Socket v5.8.8 版本，如果没有用到流式压缩/解压 API 可以直接替换升级



[11:00 2022/04/13]
修复模块 IConvert 的部分BUG.,返回值返回错误代码.


[14:00 2022/04/11]
==========================================================================================
v5.8.8 更新：
==========================================================================================

> 主要更新：
-----------------
1、Client/Agent 连接服务端时支持指定主机名称，格式：<hostaddress>[^<hostname>]，其中 ^<hostname> 可选。其中一个应用场景：透过代理服务器向目标服务器传递 SSL SNI hostname
2、增加编码转换系列高级函数（参考：Chang-Log.txt），支持指定源字符串长度
3、修复 SSL Pull/Pack Server/Agent 组件在手工延时启动SSL（SetSSLAutoStart(FALSE)）场景下的异常问题
4、模块增加一个 IConvert 类,用来操作数据/字符串之类的编码转换,压缩解压

> 第三方库更新：
-----------------
1、zlib 升级到 1.2.12 版本
2、openssl 升级到 1.1.1n 版本

> 升级说明：
-----------------
1、HP-Socket v5.8.8 完全兼容 HP-Socket v5.8.7 版本，可以直接替换升级



[10:00 2022/03/04]
==========================================================================================
v5.8.7 更新：
==========================================================================================

> 主要更新：
-----------------
1、优化垃圾对象回收检测机制，提高通信组件在高负载、高并发场景的健壮性

> 第三方库更新：
-----------------
1、mimalloc 升级到 1.7.5 版本

> 升级说明：
-----------------
1、HP-Socket v5.8.7 完全兼容 HP-Socket v5.8.6 版本，可以直接替换升级


[15:30 2022/03/03]
> 主要更新：
-----------------
1、新增一个实验阶段的 IWinHttpEx 类,实现和windows系统组件winhttp基本一致的接口(由 IHttpAgent 组件实现),请在程序启动最开始调用一次 HPWinHttp_Init() 并确保返回为真(实验阶段,HP-Socket版本必须大于等于5.8.6版本)
2、欢迎大家来测试 IWinHttpEx 类,可完全替代 IWinHttp 类

> 升级说明：
-----------------
1、本次更新主要为扩展用法,IHttpSyncClient 我用着不是很习惯,而由IHttpSyncClient封装的IWinHttp 也是有点问题
2、IWinHttpEx 完全由 IHttpAgent 组件实现,算是给组件一个例子吧,中间还使用到 ZLib/GZip、Brotil 流式压缩/解压组件,大家可以参考我是如何在回调里面使用的
3、IWinHttpEx 中还涉及到事件(EVENT),还有缓冲区扩展等列子.算是非常综合的一个IHttpAgent例程了.

[11:00 2022/01/21]

> 主要更新：
-----------------
1、增加 ZLib/GZip、Brotil 流式压缩/解压组件：IHPCompressor 和 IHPDecompressor

> 升级说明：
-----------------
1、HP-Socket v5.8.6 完全兼容 HP-Socket v5.8.5 版本，可以直接替换升级



[10:00 2021/09/01]

> 主要更新：
-----------------
1、消除隐患：Client 系列组件用作函数局部变量时，如果使用不当可能会在销毁 Client 对象时崩溃
2、支持通过指定平台工具集编译 
3、增加 MSBuild 一键编译脚本
3、代码优化，提高代码健壮性

> 升级说明：
-----------------
1、HP-Socket v5.8.5 完全兼容 HP-Socket v5.8.4 版本，可以直接替换升级


[11:54 2021/07/20]

修复模块，一个汇编bug


[10:10 2021/07/17]
==========================================================================================
v5.8.4 更新：
==========================================================================================

> 主要更新：
-----------------
1、增加全局函数：SYS_Calloc()、SYS_Alloca()
2、TCP 系列组件增加接口方法：SetNoDelay()、IsNoDelay()

> 第三方库更新：
-----------------
1、mimalloc 升级到 1.7.2 版本
2、llhttp 升级到 6.0.4 版本

> 升级说明：
-----------------
1、HP-Socket v5.8.4 完全兼容 HP-Socket v5.8.3 版本，可以直接替换升级




[10:10 2021/01/18]


1、HP-Socket v5.8.1 基本兼容 HP-Socket v5.7.2 版本







[15:45 2019/12/03]
==========================================================================================
v5.7.1 更新：
==========================================================================================

> UDP 组件更新：
-----------------
1、增加新组件：UDP Node
	1) UDP Node 没有“连接”的概念，可以与任意地址相互收发数据
	2) UDP Node 支持三种运行模式：单播、组播和广播
	3) 增加 UDP Node 组件示例 Demo - TestUDPNode

> 其它更新：
-----------------
1、所有通信组件都增加方法 SetReuseAddressPolicy() 支持设置地址重用策略
2、大量 API 更新，代码重构、优化

> 升级说明：
-----------------
1、HP-Socket v5.7.1 改动或删除了小部分 API，升级时请参考 Chang-APIs.txt
2、UdpNode 的例程本来写好的，结果上次忘记保存了，等正式版发上来，最近生病，家人也不好。


[00:00 2019/11/16]
> UDP 组件更新：
-----------------
1、增加 UDP Node 组件
	1) UDP Node 没有“连接”的概念，可以与任意地址相互收发数据
	2) UDP Node 支持三种运行模式：单播、组播和广播

> TCP 组件更新：
-----------------
1、TCP PACK 系列组件（Client/Agent/Server）改用固定字节序传输内部包头，兼容大端与小端字节序平台

> 升级说明：
-----------------
1、HP-Socket v5.7.1 完全兼容 HP-Socket v5.6.x 版本，可以直接替换升级


[11:12 2019/09/02]

> SSL 组件更新：
-----------------
1、所有 SSL 组件增加以下接口方法支持加载内存证书
	1) Server：SetupSSLContextByMemory(), AddSSLContextByMemory()
	2) Agent：SetupSSLContextByMemory()
	3) Client：SetupSSLContextByMemory()
2、所有 SSL 组件增加 GetSSLSessionInfo() 方法，用来获取 SSL 会话相关信息
3、SSL Server 组件提供默认的 SNI 服务器域名绑定机制，大多数情形下应用程序不必自定义 SNI 回调函数
	1) 当 SetupSSLContext() 的 'fnServerNameCallback' 参数值为 nullptr 则启用默认的服务器域名绑定机制
	2) BindSSLServerName()：绑定服务器域名到指定证书
	3) HP_SSL_DefaultServerNameCallback()：默认 SNI 回调函数

> HTTP 组件更新：
-----------------
1、HTTP Server 组件的 SendWSMessage() 方法删除 lpszMask 参数
2、所有 HTTP 组件的 SendWSMessage() 方法的 pData 参数类型改为 const BYTE*，因此可以传入常量

> UDP 组件更新：
-----------------
1、优化 Linux 平台的 UDP Cast 组件，使得其与 Windows 平台的 UDP Cast 组件保持行为一致
2、提升所有 UDP 组件（Server/Client/Cast）的 IPv6 兼容性

> 其他更新：
-----------------
1、jemalloc 升级到 5.2.1 版本
2、代码优化，提高稳定性

> 升级说明：
-----------------
1、HP-Socket v5.6.1 基本兼容 HP-Socket v5.5.3 版本（HTTP 组件的 SendWSMessage() 方法除外）





[15:12 2019/08/01]
一、更新为HPSocket 5.5.3 版本，完全兼容5.X.X版本

二、修复模块部分接口注释

[13:4 2019/04/22]
一、UDP 组件更新
	增加可靠 UDP 组件：IUdpArqServer、IUdpArqClient
	可靠 UDP 组件详细说明请参考开发文档 《HP-Socket Development Guide》
	优化 IUdpServer 组件，修复潜在缺陷
	
二、模块部分代码优化

三、更新为HPSocket 5.5.1 rc2版本，完全兼容5.4.4版本


[23:40 2019/03/14]
一、新增Arq组件，arq组件为可靠连接的udp，具体介绍请百度arq
	1、UdpArqServer组件
	2、UdpArqClient组件
	
二、接口修改
	1、修改agent的start接口和client的connect接口，把多个类型的start和connect整合会一个，简化操作
	
三、不再更新中文版模块
	1、关于中文模块，请不要再来问我中文模块更不更新。如果需要请自行修改以前的中文模块，或者翻译当前英文模块。
	2、关于模块例程，我是能有事件挤出来就写。
	3、关于视频教程，以前在群里问过，都只需要源码就好了，所以不出。
	4、关于解答问题，因为我现在工作量比较大，我有时间看到就回答一下，没有就自己问下群里。并不是高傲不给你们解答。
	

[09:25 2019/03/12]
一、更新为HPSocket 5.4.4版本
二、不再更新中文版模块
	1、精力有限，确实没时间更新
	2、英文框架变更太大，不好复制到中文模块
 

[09:25 2018/11/21]

 
> HTTP 新增API：
-----------------
HP_HttpServer_StartHttp				(增加)
HP_HttpServer_SetHttpAutoStart		(增加)
HP_HttpServer_IsHttpAutoStart		(增加)
HP_HttpAgent_StartHttp				(增加)
HP_HttpAgent_SetHttpAutoStart		(增加)
HP_HttpAgent_IsHttpAutoStart		(增加)
HP_HttpClient_StartHttp				(增加)
HP_HttpClient_SetHttpAutoStart		(增加)
HP_HttpClient_IsHttpAutoStart		(增加)


> 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 事件

> 升级说明：
-----------------
1、HP-Socket v5.4.3 完全兼容 HP-Socket v5.4.2 版本，可以直接替换升级

> 模块更新：
-----------------
1、修改取IP地址在各个系统下的兼容问题
2、优化部分代码
3、新增N个API和终结N个"特性"。


[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-Http-Serve.e 

[9:35 2018/8/1]
==========================================================================================
v5.4.1 bate5 更新：
==========================================================================================
1、模块新增IBufferPtr类，方便管理数据叠加，
TestEcho-New-Agent.e和TestEcho-New-Server.e已经改为IBufferPtr接收数据

2、新增Agent例程，全新四个例程
TestEcho-New-Server.e
TestEcho-New-Agent.e
TestEcho-New-Client.e
TestEcho-ThreadPool.e   线程池普通例程，
TestEcho-Http-Serve.e  修改为线程池高级例程，在线程池中 m_Server.SendLocalFileEx() 在发送大数据时可判断连接是否当断，以前版本不支持

3、新增多个汇编函数，请查看 asmfun 程序集

4、优化部分汇编代码，修复中文版模块几个BUG。


[12:08 2018/7/30]
==========================================================================================
v5.4.1 bate4 更新：
==========================================================================================
1、新增API
SYS_Malloc						
SYS_Realloc						
SYS_Free						
HP_Agent_ConnectWithLocalPort			
HP_Agent_ConnectWithExtraAndLocalPort	
HP_Client_StartWithBindAddressAndLocalPort	

2、中文版模块优化部分参数显示
3、两个模块优化部分代码


[09:25 2018/7/26]
==========================================================================================
v5.4.1 更新：
==========================================================================================

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

> 其他更新：
-----------------
1、代码优化
2、增加HPThreadPool例程
3、httpserver发送大文件增加和HPThreadPool结合，能判断断开。可以自行添加其它扩展协议(如：断点续传)。

> 升级说明：
-----------------
1、HP-Socket v5.4.1 完全兼容 HP-Socket v5.3.2 版本，可以直接替换升级


[09:53 2018/6/9]
1、更新版本号，保持与 Linux 版的版本号同步
2、HP-Socket v5.3.2 完全兼容 HP-Socket v5.3.1 版本，可以直接替换升级
3、修复模块普通解压时有可以返回空字节集的问题

[11:05 2018/4/21]

> 模块修复：
-----------------
1、修复winhttp demo错误问题
2、注明:winhttp自动初始化ssl，如果自己需要设置证书，则参考winhttp demo注释部分


[10:30 2018/4/21]
==========================================================================================
v5.3.1 更新：
==========================================================================================

> 常规更新：
-----------------
1、修复 C# SDK 关于 SSL 初始化失败 Bug
2、http-parser 解析器升级到 2.8.1 版本
3、OpenSSL 版本升级到 1.1.0h
4、提供 _ZLIB_DISABLED 预编译宏选项用于禁用/启用 zlib 功能

> 升级说明：
-----------------
1、HP-Socket v5.3.1 完全兼容 HP-Socket v5.2.1 版本，可以直接替换升级

> 模块修复：
-----------------
1、修改httpserver发送视频文件因发送缓存问题引起的卡死问题
2、修复几个demo的错误
3、httpserver，区分SendLocalFile原api接口，和SendLocalFileEx大文件发送接口，具体请查看源码使用。




[18:10 2018/1/2]
> 模块修复：
-----------------
1、修复几个注释错误问题
2、修复httpclient有个事件绑定出错问题


[9:56 2017/12/26]
==========================================================================================
v5.2.1 更新：
==========================================================================================

> 发布文件调整：
-----------------
1、发布文件不再区分非 SSL DLL 和 SSL DLL，统一为 HPSocket DLL 和 HPSocket4C DLL
2、发布文件默认包含 SSL 和 HTTP 组件
3、如果想去除 SSL 或 HTTP 组件，可以分别定义 _SSL_DISABLED 或 _HTTP_DISABLED 宏重新编译

> 升级说明：
-----------------
1、HP-Socket v5.2.1 完全兼容 HP-Socket v5.1.1 版本，可以直接替换升级

> 模块说明：
-----------------
1、修改调用DLL名称
2、重新编译demo
无其它修改


[16:50 2017/11/20]
> 模块修复：
-----------------
1、修改模块部分参数为可选。
2、升级iwinhttp demo 为最新模块
3、修复模块iwinhttp组件参数无返回问题
4、升级dll为beta4



[9:51 2017/11/13]
==========================================================================================
v5.1.1 更新：
==========================================================================================

> 增加暂停接收功能：
-----------------
1、所有 Server/Agent/Client 组件增加‘暂停接收数据’功能（UDP Server 组件除外）
2、API 更新：
	1） HP_Server_PauseReceive			(增加)
	2） HP_Server_IsPauseReceive		(增加)
	3） HP_Agent_PauseReceive			(增加)
	4） HP_Agent_IsPauseReceive			(增加)
	5） HP_Client_PauseReceive			(增加)
	6） HP_Client_IsPauseReceive		(增加)

> 其它更新：
-----------------
1、TCP Agent 增加方法 HP_Agent_ConnectWithExtra()，支持在连接完成前绑定附加数据
2、公共代码包 vc-common-src 版本升级到 v2.3.22
3、OpenSSL 版本升级到 1.1.0g

> 模块修复：
-----------------
1、修复模块在2003下取IP地址为空的问题。


[15:03 2017/9/27]
> Bug 修复：
-----------------
1、修复 server 组件 SetupSSLContext 方法最后一个参数可选的问题
2、IServer、IClient、IAgent组件下的SetupSSLContext函数修改部分参数为可空




[17:34 2017/9/26]
==========================================================================================
v5.0.2 更新：
==========================================================================================

> Bug 修复：
-----------------
1、修复 PULL/PACK 组件可能会意外崩溃 Bug
2、受影响组件：Pull Server、Pull Agent、Pack Server、Pack Agent

> 升级说明：
-----------------
1、HP-Socket v5.0.2 完全兼容 HP-Socket v5.0.1 版本，可以直接替换升级





[11:07 2017/7/17]
==========================================================================================
v5.0.1 更新：
==========================================================================================

> IPv6 支持：
-----------------
1、所有通信组件支持 IPv6
2、组件接口没有变化，组件内部通过传入的地址参数自动识别 IPv4 / IPv6
3、API 更新：
	1） enum En_HP_IPAddrType			(增加)
	2） struct HP_TIPAddr				(增加)
	3） SYS_GetIPv4InAddr				(删除)
	4） SYS_GetOptimalIPByHostName		(删除)
	5） SYS_IsIPAddress					(修改)
	6） SYS_GetIPAddress					(修改)
	7） SYS_EnumHostIPAddresses			(增加)
	8） SYS_FreeHostIPAddresses			(增加)

> SSL 通信组件：
-----------------
1、多 SSL 证书支持，每个通信组件对象可以使用不同的 SSL 证书
2、通信组件对象绑定独立的 SSL Context，取代旧版本的全局唯一 SSL Context
3、API 更新：
	1） HP_SSL_Initialize				(删除)
	2） HP_SSL_Cleanup					(删除)
	3） HP_SSL_IsValid					(删除)
	4） HP_SSLAgent_SetupSSLContext		(增加)
	5） HP_SSLClient_SetupSSLContext		(增加)
	6） HP_SSLServer_SetupSSLContext		(增加)
	7） HP_SSLServer_AddSSLContext		(增加)
	8） HP_SSLAgent_CleanupSSLContext	(增加)
	9） HP_SSLClient_CleanupSSLContext	(增加)
	10） HP_SSLServer_CleanupSSLContext	(增加)

> 其它更新：
-----------------
1、Demo 更新：所有 Demo 支持 IPv6；所有 SSL Demo 支持新的证书机制

> 升级说明：
-----------------
1、SSL 组件：需要调整 SSL Context 初始化方式
2、其他组件：HP-Socket v5.0.1 完全兼容 HP-Socket v4.x.x 版本，可以直接替换升级

> 模块更新：
-----------------
1、增加函数：
	_HP_EnumHostIPAddresse()           /* 枚举主机 IP 地址 */
	_HP_IsIPAddress(）                 /* 检查字符串是否符合 IP 地址格式 */
	_HP_SSL_RemoveThreadLocalState()   名称：清理线程局部环境 SSL 资源 

2、Server类组件增加函数：
	SetupSSLContext()    初始化通信组件 SSL 环境参数
	AddSSLContext()      增加 SNI 主机证书
	CleanupSSLContext()  清理通信组件 SSL 运行环境

3、Agent类组件增加函数：
	SetupSSLContext()    初始化通信组件 SSL 环境参数
	CleanupSSLContext()  清理通信组件 SSL 运行环境

3、Client类组件增加函数：
	SetupSSLContext()    初始化通信组件 SSL 环境参数
	CleanupSSLContext()  清理通信组件 SSL 运行环境





[17:40 2017/4/12]
常规更新


[13:43 2017/4/7]

> HTTP Cookie 管理：
-----------------
1、新增 Cookie 管理器，可在不同连接、不同组件对象间共享 Cookie
2、Cookie 管理器实现了标准 HTTP Cookie 功能，支持 Max-Age、expires、httpOnly、secure
3、Cookie 管理器支持 Cookie 序列化与反序列化
4、IHttpClient 和 IHttpAgent 组件可通过 SetUseCookie() 方法设置是否开启 Cookie 功能


> 升级说明：
-----------------
1、HP-Socket v4.2.1 完全兼容 HP-Socket v4.1.4 版本，可以直接替换升级


# ======================================== #
HP-Socket v4.2.1 API 更新列表：
# ======================================== #
--------------------
1、TCP:
--------------------
HP_Server_IsSecure		(增加)
HP_Agent_IsSecure		(增加)
HP_Client_IsSecure		(增加)

--------------------
2、HTTP Sync Client:
--------------------
Create_HP_HttpSyncClient		(修改：增加可选参数 pListener，如果 pListener 非空则可以监听 HttpSyncClient 的通信事件)
Create_HP_HttpsSyncClient		(修改：增加可选参数 pListener，如果 pListener 非空则可以监听 HttpSyncClient 的通信事件)

--------------------
3、HTTP Client:
--------------------
HP_HttpClient_SetUseCookie		(增加)
HP_HttpClient_IsUseCookie		(增加)
HP_HttpClient_AddCookie			(删除)
HP_HttpClient_DeleteCookie		(删除)
HP_HttpClient_DeleteAllCookies	(删除)

--------------------
4、HTTP Agent:
--------------------
HP_HttpAgent_SetUseCookie		(增加)
HP_HttpAgent_IsUseCookie		(增加)
HP_HttpAgent_AddCookie			(删除)
HP_HttpAgent_DeleteCookie		(删除)
HP_HttpAgent_DeleteAllCookies	(删除)

--------------------
5、Cookie Management:
--------------------
HP_HttpCookie_MGR_LoadFromFile				(增加)
HP_HttpCookie_MGR_SaveToFile				(增加)
HP_HttpCookie_MGR_ClearCookies				(增加)
HP_HttpCookie_MGR_RemoveExpiredCookies		(增加)
HP_HttpCookie_MGR_SetCookie					(增加)
HP_HttpCookie_MGR_DeleteCookie				(增加)
HP_HttpCookie_MGR_SetEnableThirdPartyCookie	(增加)
HP_HttpCookie_MGR_IsEnableThirdPartyCookie	(增加)
HP_HttpCookie_HLP_ParseExpires				(增加)
HP_HttpCookie_HLP_MakeExpiresStr			(增加)
HP_HttpCookie_HLP_ToString					(增加)
HP_HttpCookie_HLP_CurrentUTCTime			(增加)
HP_HttpCookie_HLP_MaxAgeToExpires			(增加)
HP_HttpCookie_HLP_ExpiresToMaxAge			(增加)

增加httpCookie DEMO
由于httpCookie在httpclient和httpagent中使用，然而我并没有写这两个组件的demo，所以就先将就着httpCookie的用吧




[13:19 2017/3/22]

> HTTP Sync Client 通信组件：
-----------------
1、Create_HP_HttpSyncClient 和 Create_HP_HttpsSyncClient 方法增加可选参数 pListener
2、如果 pListener 非空则可以通过 pListener 监听 HttpSyncClient 的所有通信事件

> 其它更新：
-----------------
1、Demo 更新：HttpProxy，TestEcho-Http (SyncClient)，TestEcho-Http-4C (SyncClient)
2、OpenSSL 版本升级到 1.1.0e
3、IWinHttp 增加httpclient的所有事件回调接口，可以实现上传和下载的进度显示。

> 升级说明：
-----------------
1、HTTP Sync Client 组件：需要调整 Create_HP_HttpSyncClient 和 Create_HP_HttpsSyncClient 的调用参数
2、其他组件：HP-Socket v4.1.4 完全兼容 HP-Socket v4.1.3 版本，可以直接替换升级







[16:26 2017/1/20]
1、IWinhttp增加 ResponseText 方法，参数为是否utf8解码



[11:39 2017/1/19]
1、模块更新，修复取连接IP地址和端口时，IP地址取不出来的问题。
2、增加了udp的demo
3、http大文件发送效率更高，本机测试最高能到110M/s，实际因为检测缓冲区大小造成性能损失可能只有95-100m/s。
4、更新为最新版4.1.3 dll



[11:15 2017/1/16]
1、模块更新，修复server和agent 调用 GetAllConnectionIDs 错误问题，删除最后一个参数

可直接替换更新现有4.1.2及以上版本



[16:29 2017/1/12]
1、更新为最新版4.1.3
2、修正IWinHttp为调用open的时候创建对象
==========================================================================================
v4.1.3 更新：
==========================================================================================

> 代码调整：
-----------------
1、ITcpServer 和 ITcpAgent 组件在 SP_DIRECT 发送模式下，监听器的 OnReceive 事件内部可能触发 Onclose 事件，改为顺序触发
2、IClient 组件优化，提高稳定性

> 升级说明：
-----------------
1、HP-Socket v4.1.3 完全兼容 HP-Socket v4.1.2 版本，可以直接替换升级




[16:57 2016/12/28]
1、解决URL编码错误问题
2、增加几个API封装命令：
   _HP_Compress: 普通压缩
   _HP_Uncompress: 普通解压
   _HP_CompressEx: 高级压缩
   _HP_UncompressEx: 高级解压
   _HP_GZipCompress: Gzip 压缩
   _HP_GZipUncompress: Gzip 解压
   GetHttpDefaultStatusCodeDesc: 获取HTTP状态码文本描述

3、各个组件的send方法改为指针+长度方式，新曾SendBytes来发送字节集数据
4、dll更换为4.1.2-rc2，直接替换，完美兼容