v5.8.6 更新:
===============================================================================
> 主要更新:
—————–
1、增加 ZLib/GZip、Brotil 流式压缩/解压组件:IHPCompressor 和 IHPDecompressor
2、优化垃圾对象回收检测机制,提高通信组件在高负载、高并发场景的健壮性
> 第三方库更新:
—————–
1、openssl 升级到 1.1.1m 版本
2、llhttp 升级到 6.0.6 版本
3、mimalloc 升级到 1.7.3 版本
升级说明:
—————–
1、HP-Socket v5.8.6 完全兼容 HP-Socket v5.8.5 版本,可以直接替换升级
# ======================================== #
HP-Socket v5.8.6 API 更新列表:
# ======================================== #
——————–
1、Compress:
——————–
Create_HP_ZLibCompressor (增加)
Create_HP_ZLibCompressorEx (增加)
Create_HP_GZipCompressor (增加)
Create_HP_GZipCompressorEx (增加)
Create_HP_ZLibDecompressor (增加)
Create_HP_ZLibDecompressorEx (增加)
Create_HP_GZipDecompressor (增加)
Create_HP_BrotliCompressor (增加)
Create_HP_BrotliCompressorEx (增加)
Create_HP_BrotliDecompressor (增加)
Destroy_HP_Compressor (增加)
Destroy_HP_Decompressor (增加)
HP_Compressor_Process (增加)
HP_Compressor_Reset (增加)
HP_Compressor_IsValid (增加)
HP_Decompressor_Process (增加)
HP_Decompressor_Reset (增加)
HP_Decompressor_IsValid (增加)
# ======================================== #
HP-Socket v5.8.5 API 更新列表:
# ======================================== #
——————–
1、Thread Pool:
——————–
HP_Set_FN_ThreadPool_OnStartup (增加)
HP_Set_FN_ThreadPool_OnShutdown (增加)
HP_Set_FN_ThreadPool_OnWorkerThreadStart (增加)
HP_Set_FN_ThreadPool_OnWorkerThreadEnd (增加)
Create_HP_ThreadPoolListener (增加)
Destroy_HP_ThreadPoolListener (增加)
Create_HP_ThreadPool (修改:增加参数 HP_ThreadPoolListener pListener)
# ======================================== #
HP-Socket v5.8.4 API 更新列表:
# ======================================== #
——————–
1、TCP:
——————–
HP_TcpServer_SetNoDelay (增加)
HP_TcpAgent_SetNoDelay (增加)
HP_TcpClient_SetNoDelay (增加)
HP_TcpServer_IsNoDelay (增加)
HP_TcpAgent_IsNoDelay (增加)
HP_TcpClient_IsNoDelay (增加)
——————–
2、Global:
——————–
SYS_Calloc (增加)
SYS_Alloca (增加)
# ======================================== #
HP-Socket v5.7.3 API 更新列表:
# ======================================== #
——————–
1、Global:
——————–
SYS_BrotliCompress (增加)
SYS_BrotliCompressEx (增加)
SYS_BrotliUncompress (增加)
SYS_BrotliGuessCompressBound (增加)
# ======================================== #
HP-Socket v5.7.1 API 更新列表:
# ======================================== #
——————–
1、Global:
——————–
SYS_SSO_ReuseAddress (修改:参数类型改为 En_HP_ReuseAddressPolicy)
SYS_SSO_RecvTimeOut (增加)
SYS_SSO_SendTimeOut (增加)
SYS_SwapEndian16 (增加)
SYS_SwapEndian32 (增加)
SYS_IsLittleEndian (增加)
——————–
2、UDP:
——————–
enum En_HP_CastMode (修改:增加枚举值 CM_UNICAST)
Create_HP_UdpNode (增加)
Create_HP_UdpNodeListener (增加)
Destroy_HP_UdpNode (增加)
Destroy_HP_UdpNodeListener (增加)
HP_Set_FN_UdpNode_OnPrepareListen (增加)
HP_Set_FN_UdpNode_OnSend (增加)
HP_Set_FN_UdpNode_OnReceive (增加)
HP_Set_FN_UdpNode_OnError (增加)
HP_Set_FN_UdpNode_OnShutdown (增加)
HP_UdpNode_* (增加)
HP_UdpArqServer_SetFastLimit (增加)
HP_UdpArqServer_GetFastLimit (增加)
HP_UdpArqClient_SetFastLimit (增加)
HP_UdpArqClient_GetFastLimit (增加)
——————–
3、SSL:
——————–
HP_SSLServer_SetSSLCipherList (增加)
HP_SSLServer_GetSSLCipherList (增加)
HP_SSLAgent_SetSSLCipherList (增加)
HP_SSLAgent_GetSSLCipherList (增加)
HP_SSLClient_SetSSLCipherList (增加)
HP_SSLClient_GetSSLCipherList (增加)
——————–
4、Thread:
——————–
HP_ThreadPool_GetTaskCount (增加)
——————–
5、Others:
——————–
enum En_HP_ReuseAddressPolicy (增加)
HP_Server_SetReuseAddressPolicy (增加)
HP_Server_GetReuseAddressPolicy (增加)
HP_Agent_SetReuseAddressPolicy (增加)
HP_Agent_GetReuseAddressPolicy (增加)
HP_Client_SetReuseAddressPolicy (增加)
HP_Client_GetReuseAddressPolicy (增加)
HP_UdpNode_SetReuseAddressPolicy (增加)
HP_UdpNode_GetReuseAddressPolicy (增加)
HP_Server_Wait (增加)
HP_Agent_Wait (增加)
HP_UdpNode_Wait (增加)
HP_Client_Wait (增加)
HP_ThreadPool_Wait (增加)
HP_TcpAgent_SetReuseAddress (删除:由 HP_Agent_SetReuseAddressPolicy 取代)
HP_TcpAgent_IsReuseAddress (删除:由 HP_Agent_GetReuseAddressPolicy 取代)
HP_UdpCast_SetReuseAddress (删除:由 HP_Client_SetReuseAddressPolicy 取代)
HP_UdpCast_IsReuseAddress (删除:由 HP_Client_GetReuseAddressPolicy 取代)
HP_UdpNode_SetReuseAddress (删除:由 HP_UdpNode_SetReuseAddressPolicy 取代)
HP_UdpNode_IsReuseAddress (删除:由 HP_UdpNode_GetReuseAddressPolicy 取代)
# ======================================== #
HP-Socket v5.6.1 API 更新列表:
# ======================================== #
——————–
1、HTTP:
——————–
HP_HttpServer_SendWSMessage (修改:删除 lpszMask 参数,修改 pData 参数类型为 const BYTE*)
HP_HttpAgent_SendWSMessage (修改:修改 pData 参数类型为 const BYTE*)
HP_HttpClient_SendWSMessage (修改:修改 pData 参数类型为 const BYTE*)
HP_HttpServer_SendChunkData (增加)
HP_HttpAgent_SendChunkData (增加)
HP_HttpClient_SendChunkData (增加)
——————–
2、SSL:
——————–
enum En_HP_SSLSessionInfo (增加)
typedef HP_Fn_SNI_ServerNameCallback (修改:增加参数 PVOID pContext)
HP_SSLServer_BindSSLServerName (增加)
HP_SSL_DefaultServerNameCallback (增加)
HP_SSLServer_AddSSLContextByMemory (增加)
HP_SSLServer_SetupSSLContextByMemory (增加)
HP_SSLAgent_SetupSSLContextByMemory (增加)
HP_SSLClient_SetupSSLContextByMemory (增加)
HP_SSLServer_GetSSLSessionInfo (增加)
HP_SSLAgent_GetSSLSessionInfo (增加)
HP_SSLClient_GetSSLSessionInfo (增加)
# ======================================== #
HP-Socket v5.5.1 API 更新列表:
# ======================================== #
——————–
1、UDP:
——————–
Create_HP_UdpArqClient (增加)
Create_HP_UdpArqServer (增加)
Destroy_HP_UdpArqClient (增加)
Destroy_HP_UdpArqServer (增加)
Create_HP_UdpArqClientListener (增加)
Create_HP_UdpArqServerListener (增加)
Destroy_HP_UdpArqClientListener (增加)
Destroy_HP_UdpArqServerListener (增加)
HP_UdpArqServer_SetNoDelay (增加)
HP_UdpArqServer_SetTurnoffCongestCtrl (增加)
HP_UdpArqServer_SetFlushInterval (增加)
HP_UdpArqServer_SetResendByAcks (增加)
HP_UdpArqServer_SetSendWndSize (增加)
HP_UdpArqServer_SetRecvWndSize (增加)
HP_UdpArqServer_SetMinRto (增加)
HP_UdpArqServer_SetMaxTransUnit (增加)
HP_UdpArqServer_SetMaxMessageSize (增加)
HP_UdpArqServer_SetHandShakeTimeout (增加)
HP_UdpArqServer_IsNoDelay (增加)
HP_UdpArqServer_IsTurnoffCongestCtrl (增加)
HP_UdpArqServer_GetFlushInterval (增加)
HP_UdpArqServer_GetResendByAcks (增加)
HP_UdpArqServer_GetSendWndSize (增加)
HP_UdpArqServer_GetRecvWndSize (增加)
HP_UdpArqServer_GetMinRto (增加)
HP_UdpArqServer_GetMaxTransUnit (增加)
HP_UdpArqServer_GetMaxMessageSize (增加)
HP_UdpArqServer_GetHandShakeTimeout (增加)
HP_UdpArqServer_GetWaitingSendMessageCount (增加)
HP_UdpArqClient_SetNoDelay (增加)
HP_UdpArqClient_SetTurnoffCongestCtrl (增加)
HP_UdpArqClient_SetFlushInterval (增加)
HP_UdpArqClient_SetResendByAcks (增加)
HP_UdpArqClient_SetSendWndSize (增加)
HP_UdpArqClient_SetRecvWndSize (增加)
HP_UdpArqClient_SetMinRto (增加)
HP_UdpArqClient_SetMaxTransUnit (增加)
HP_UdpArqClient_SetMaxMessageSize (增加)
HP_UdpArqClient_SetHandShakeTimeout (增加)
HP_UdpArqClient_IsNoDelay (增加)
HP_UdpArqClient_IsTurnoffCongestCtrl (增加)
HP_UdpArqClient_GetFlushInterval (增加)
HP_UdpArqClient_GetResendByAcks (增加)
HP_UdpArqClient_GetSendWndSize (增加)
HP_UdpArqClient_GetRecvWndSize (增加)
HP_UdpArqClient_GetMinRto (增加)
HP_UdpArqClient_GetMaxTransUnit (增加)
HP_UdpArqClient_GetMaxMessageSize (增加)
HP_UdpArqClient_GetHandShakeTimeout (增加)
HP_UdpArqClient_GetWaitingSendMessageCount (增加)
# ======================================== #
HP-Socket v5.4.4 API 更新列表:
# ======================================== #
——————–
1、Agent:
——————–
HP_Agent_ConnectWithLocalAddress (增加)
HP_Agent_ConnectWithExtraAndLocalAddressPort (增加)
# ======================================== #
HP-Socket v5.4.3 API 更新列表:
# ======================================== #
——————–
1、HTTP:
——————–
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 (增加)
# ======================================== #
HP-Socket v5.4.2 API 更新列表:
# ======================================== #
——————–
1、Server / Agent:
——————–
HP_Server_SetOnSendSyncPolicy (增加)
HP_Server_GetOnSendSyncPolicy (增加)
HP_Agent_SetOnSendSyncPolicy (增加)
HP_Agent_GetOnSendSyncPolicy (增加)
——————–
2、SSL:
——————–
HP_SSLServer_StartSSLHandShake (增加)
HP_SSLServer_SetSSLAutoHandShake (增加)
HP_SSLServer_IsSSLAutoHandShake (增加)
HP_SSLAgent_StartSSLHandShake (增加)
HP_SSLAgent_SetSSLAutoHandShake (增加)
HP_SSLAgent_IsSSLAutoHandShake (增加)
HP_SSLClient_StartSSLHandShake (增加)
HP_SSLClient_SetSSLAutoHandShake (增加)
HP_SSLClient_IsSSLAutoHandShake (增加)
# ======================================== #
HP-Socket v5.4.1 API 更新列表:
# ======================================== #
——————–
1、System:
——————–
SYS_Malloc (增加)
SYS_Realloc (增加)
SYS_Free (增加)
——————–
2、TCP/UDP:
——————–
HP_Agent_ConnectWithLocalPort (增加)
HP_Agent_ConnectWithExtraAndLocalPort (增加)
HP_Client_StartWithBindAddressAndLocalPort (增加)
HP_Agent_IsConnected (增加)
HP_Client_IsConnected (增加)
HP_Server_IsConnected (增加)
——————–
3、Thread Pool:
——————–
Create_HP_ThreadPool (增加)
Destroy_HP_ThreadPool (增加)
Create_HP_SocketTaskObj (增加)
Destroy_HP_SocketTaskObj (增加)
HP_ThreadPool_Start (增加)
HP_ThreadPool_Stop (增加)
HP_ThreadPool_Submit (增加)
HP_ThreadPool_Submit_Task (增加)
HP_ThreadPool_AdjustThreadCount (增加)
HP_ThreadPool_HasStarted (增加)
HP_ThreadPool_GetState (增加)
HP_ThreadPool_GetQueueSize (增加)
HP_ThreadPool_GetThreadCount (增加)
HP_ThreadPool_GetMaxQueueSize (增加)
HP_ThreadPool_GetRejectedPolicy (增加)
# ======================================== #
HP-Socket v5.1.1 API 更新列表:
# ======================================== #
——————–
1、TCP/UDP:
——————–
HP_Server_PauseReceive (增加)
HP_Server_IsPauseReceive (增加)
HP_Agent_PauseReceive (增加)
HP_Agent_IsPauseReceive (增加)
HP_Client_PauseReceive (增加)
HP_Client_IsPauseReceive (增加)
HP_Agent_ConnectWithExtra (增加)
# ======================================== #
HP-Socket v5.0.1 API 更新列表:
# ======================================== #
——————–
1、SYS:
——————–
enum En_HP_IPAddrType (增加)
struct HP_TIPAddr (增加)
SYS_GetIPv4InAddr (删除)
SYS_GetOptimalIPByHostName (删除)
SYS_IsIPAddress (修改)
SYS_GetIPAddress (修改)
SYS_EnumHostIPAddresses (增加)
SYS_FreeHostIPAddresses (增加)
——————–
2、SSL:
——————–
HP_SSL_Initialize (删除)
HP_SSL_Cleanup (删除)
HP_SSL_IsValid (删除)
HP_SSLAgent_SetupSSLContext (增加)
HP_SSLClient_SetupSSLContext (增加)
HP_SSLServer_SetupSSLContext (增加)
HP_SSLServer_AddSSLContext (增加)
HP_SSLAgent_CleanupSSLContext (增加)
HP_SSLClient_CleanupSSLContext (增加)
HP_SSLServer_CleanupSSLContext (增加)
# ======================================== #
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 (增加)
# ======================================== #
HP-Socket v4.1.1 API 更新列表:
# ======================================== #
——————–
1、WebSocket:
——————–
HP_HttpAgent_SendWSMessage
HP_HttpAgent_GetWSMessageState
HP_HttpClient_SendWSMessage
HP_HttpClient_GetWSMessageState
HP_HttpServer_SendWSMessage
HP_HttpServer_GetWSMessageState
HP_Set_FN_HttpAgent_OnWSMessageHeader
HP_Set_FN_HttpAgent_OnWSMessageBody
HP_Set_FN_HttpAgent_OnWSMessageComplete
HP_Set_FN_HttpClient_OnWSMessageHeader
HP_Set_FN_HttpClient_OnWSMessageBody
HP_Set_FN_HttpClient_OnWSMessageComplete
HP_Set_FN_HttpServer_OnWSMessageHeader
HP_Set_FN_HttpServer_OnWSMessageBody
HP_Set_FN_HttpServer_OnWSMessageComplete
——————–
2、HTTP Sync Client:
——————–
Create_HP_HttpSyncClient
Destroy_HP_HttpSyncClient
Create_HP_HttpsSyncClient (#SSL)
Destroy_HP_HttpsSyncClientt (#SSL)
HP_HttpSyncClient_OpenUrl
HP_HttpSyncClient_CleanupRequestResult
HP_HttpSyncClient_GetConnectTimeout
HP_HttpSyncClient_GetRequestTimeout
HP_HttpSyncClient_SetConnectTimeout
HP_HttpSyncClient_SetRequestTimeout
HP_HttpSyncClient_GetResponseBody
——————–
3、TCP / HTTP:
——————–
HP_Agent_GetRemoteHost
HP_Client_GetRemoteHost
HP_HttpAgent_GetContentEncoding
HP_HttpAgent_GetTransferEncoding
HP_HttpClient_GetContentEncoding
HP_HttpClient_GetTransferEncoding
HP_HttpServer_GetContentEncoding
HP_HttpServer_GetHost
HP_HttpServer_GetTransferEncoding
——————–
4、其它:
——————–
SYS_GetIPv4InAddr
SYS_IsIPAddress
SYS_GetIPAddress
SYS_GetOptimalIPByHostName
SYS_NToH64
SYS_HToN64
SYS_CodePageToUnicode
SYS_UnicodeToCodePage
SYS_GbkToUnicode
SYS_UnicodeToGbk
SYS_Utf8ToUnicode
SYS_UnicodeToUtf8
SYS_GbkToUtf8
SYS_Utf8ToGbk
HP_GetHPSocketVersion
SYS_Compress
SYS_CompressEx
SYS_Uncompress
SYS_UncompressEx
SYS_GuessCompressBound
SYS_GZipCompress
SYS_GZipUncompress
SYS_GZipGuessUncompressBound
SYS_GuessBase64EncodeBound
SYS_GuessBase64DecodeBound
SYS_Base64Encode
SYS_Base64Decode
SYS_GuessUrlEncodeBound
SYS_GuessUrlDecodeBound
SYS_UrlEncode
SYS_UrlDecode