|
hp使用方式
HP-Socket 支持 MBCS 和 Unicode 字符集,支持 32 位和 64 位应用程序。可以通过源代
码、DLL 或 LIB 方式使用 HP-Socket。HP-Socket 发行包中已经提供了 HPSocket DLL 和
HPSocket4C DLL。
注意:HP-Socket v5.2.x 开始,发行包不再分别提供 SSL 和非 SSL 库文件,发行包中提
供的库文件包含 SSL 和 HTTP 组件,如果想去除 SSL 或 HTTP 组件,可以分别定义
_SSL_DISABLED 或 _HTTP_DISABLED 宏重新编译。
9.1 源代码
HP-Socket 依赖于 Src/Common/ 目录下的一些公共代码。所以,通过源代码方式使用 HP-
Socket 时需要把 HP-Socket 的 Src/ 目录和 Src/Common/ 目录下的相应代码文件加入到工程
项目(参考:TestEcho / TestEcho-UDP 示例 Demo)。
9.2 静态库
HP-Socket 发行包中 Windows 版本的 Project/HPSocketLIB 和 Project/HPSocketLIB4C 工
程项目用于编译 HPSocket LIB 和 HPSocket4C LIB,输出目录为 Lib/x86(x64)/static/。如果需
要可以自己编译。静态库与动态库的使用方式一致,请参考后续章节。
(静态库引用方式参考:TestEcho-SSL-4C / TestEcho-SSL-PFM 示例 Demo)。
注意:Windows 平台下,如果工程项目使用 HPSocket LIB 或 HPSocket4C LIB,需要在
工程属性中定义预处理宏 -> HPSOCKET_STATIC_LIB。
9.3 HPSocket DLL
HPSocket DLL 导出 C++ 编程接口,是 C++ 程序使用 HP-Socket 的首选方式。HPSocket
DLL 通过 HP-Socket 发行包中的 Project/HPSocketDLL 工程项目编译生成,输出以下 DLL:
✓ Lib\x86\HPSocket.dll (32 位/MBCS/Release)
✓ Lib\x86\HPSocket_D.dll (32 位/MBCS/Debug)
✓ Lib\x86\HPSocket_U.dll (32 位/Unicode/Release)
✓ Lib\x86\HPSocket_UD.dll (32 位/Unicode/Debug)
✓ Lib\x64\HPSocket.dll (64 位/MBCS/Release)
✓ Lib\x64\HPSocket_D.dll (64 位/MBCS/Debug)
✓ Lib\x64\HPSocket_U.dll (64 位/Unicode/Release)
✓ Lib\x64\HPSocket_UD.dll (64 位/Unicode/Debug)
使 用 HPSocket DLL 时 需 要 把 include/hpsocket/SocketInterface.h 、
include/hpsocket/HPSocket.h 以 及 DLL 对 应 的 *.lib 文 件 加 入 到 工 程 项 目 。
include/hpsocket/HPSocket.h 除了导出组件的创建、销毁方法和组件接口外,还定义了各组件
的智能指针(如:CTcpServerPtr / CTcpClientPtr),通过这些智能指针可以更方便地使用 HP-
Socket 组件。(参考:TestEcho-Pull / TestEcho-PFM 示例 Demo)。
HPSocket DLL 包含 SSL 组件和非 SSL 组件,如果需要用到 SSL 组件则需要把
include/hpsocket/HPSocket-SSL.h、include/hpsocket/SocketInterface.h 以及 DLL 对应的*.lib 文
件加入到工程项目。(参考:TestEcho-SSL-PACK 示例 Demo)。
通过 DLL 方式使用 HP-Socket,当需要更新或升级 HP-Socket 时,如果 DLL 接口发生
变化则必须重新编译应用程序;如果 DLL 接口没有改变则直接替换 DLL 即可,不需要重新
编译应用程序。
|
|