# testhpsocket **Repository Path**: bobliu21/testhpsocket ## Basic Information - **Project Name**: testhpsocket - **Description**: 测试了一下hpsocket,记录一下。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-29 - **Last Updated**: 2025-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 高性能网络通信组件(HPSocket)是一个功能强大的开源网络通信库,适用于快速开发高性能的网络应用程序。该项目提供了TCP服务器、TCP客户端、UDP通信、HTTP服务等模块,并支持SSL加密通信、数据压缩与解码、线程池管理等功能。 ## 特性 - **高性能**:基于IOCP(Windows)或EPOLL(Linux)模型,实现高并发网络通信。 - **跨平台**:支持Windows和Linux系统。 - **模块化设计**:提供TCP、UDP、HTTP等多种通信协议的封装。 - **SSL/TLS支持**:提供安全通信能力。 - **数据压缩与解码**:支持数据压缩和解压,以及Base64、URL编码/解码。 - **线程池管理**:内置线程池,提高任务调度效率。 - **事件驱动模型**:通过事件回调机制处理网络事件,如连接、接收、发送、关闭等。 ## 安装 ### Windows 1. 下载源码并解压。 2. 使用Visual Studio打开项目文件(`.sln`)。 3. 编译项目生成动态链接库(DLL)或静态库(LIB)。 4. 将生成的库文件和头文件集成到你的项目中。 ### Linux 1. 下载源码并解压。 2. 使用`make`命令编译项目。 3. 将生成的共享库(`.so`)和头文件复制到你的项目目录中。 ## 使用示例 ### 创建TCP服务器 ```cpp #include "HPSocket.h" class CTcpServerListenerImpl : public CTcpServerListener { public: EnHandleResult OnAccept(ITcpServer* pSender, CONNID dwConnID, UINT_PTR soClient) { // 处理客户端连接 return HR_OK; } EnHandleResult OnReceive(ITcpServer* pSender, CONNID dwConnID, const BYTE* pData, int iLength) { // 处理接收到的数据 return HR_OK; } EnHandleResult OnClose(ITcpServer* pSender, CONNID dwConnID, EnSocketOperation enOperation, int iErrorCode) { // 处理连接关闭 return HR_OK; } }; int main() { CTcpServerListenerImpl listener; ITcpServer* pServer = HP_Create_TcpServer(&listener); if (pServer->Start("0.0.0.0", 8080)) { // 服务器启动成功 } // 等待服务器停止 pServer->Wait(); HP_Destroy_TcpServer(pServer); return 0; } ``` ### 创建TCP客户端 ```cpp #include "HPSocket.h" class CTcpClientListenerImpl : public CTcpClientListener { public: EnHandleResult OnConnect(ITcpClient* pSender, CONNID dwConnID) { // 处理连接成功 return HR_OK; } EnHandleResult OnReceive(ITcpClient* pSender, CONNID dwConnID, const BYTE* pData, int iLength) { // 处理接收到的数据 return HR_OK; } EnHandleResult OnClose(ITcpClient* pSender, CONNID dwConnID, EnSocketOperation enOperation, int iErrorCode) { // 处理连接关闭 return HR_OK; } }; int main() { CTcpClientListenerImpl listener; ITcpClient* pClient = HP_Create_TcpClient(&listener); if (pClient->Connect("127.0.0.1", 8080)) { // 连接服务器成功 } // 等待客户端停止 pClient->Wait(); HP_Destroy_TcpClient(pClient); return 0; } ``` ## 文档 详细的API文档和使用指南请参考官方文档和示例代码。 ## 贡献 欢迎贡献代码和文档。请提交Pull Request或Issue到项目仓库。 ## 许可证 该项目遵循MIT许可证。详情请查看`LICENSE`文件。