HP-Socket 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
HP-Socket 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
HP-Socket 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
HP-Socket 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
HP-Socket 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。HP-Socket 对通信层实现完全封装,应用程序不必关注通信层的任何细节;HP-Socket 提供基于事件通知模型的 API 接口,能非常简单高效地整合到新旧应用程序中。

为了让使用者能方便快速地学习和使用 HP-Socket ,迅速掌握框架的设计思想和使用方法,特此精心制作了大量 Demo 示例(如:PUSH 模型示例、PULL 模型示例、PACK 模型示例、性能测试示例以及其它编程语言示例)。HP-Socket 目前支持 Windows 和 Linux 平台。

HP-Socket 的设计充分注重功能、通用型、易用性与伸缩性:

通用性

  • HP-Socket 的唯一职责就是接收和发送字节流,不参与应用程序的协议解析等工作。

  • HP-Socket 与应用程序通过接口进行交互,并完全解耦。任何应用只要实现了HP-Socket的接口规范都可以无缝整合 HP-Socket。

易用性

  • 易用性对所有通用框架都是至关重要的,如果太难用还不如自己重头写一个来得方便。因此,HP-Socket 的接口设计得非常简单和统一。

  • HP-Socket 完全封装了所有底层通信细节,应用程序不必也不能干预底层通信操作。通信连接被抽象为Connection ID,Connection ID 作为连接的唯一标识提供给应用程序来处理不同的连接。

  • HP-Socket 提供 PUSH / PULL / PACK 等接收模型, 应用程序可以灵活选择以手工方式、 半自动方式或全自动方式处理封解包, PULL / PACK 接收模型在降低封解包处理复杂度的同时能大大减少出错几率。

高性能

  • Server 组件:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。

  • Agent 组件:Agent组件实质上是Multi-Client组件,与Server组件采用相同的技术架构。一个Agent组件对象可同时建立和高效处理大规模Socket连接。

  • Client 组件:基于Event Select / POLL通信模型,每个组件对象创建一个通信线程并管理一个Socket连接,适用于小规模客户端场景。

伸缩性

      应用程序能够根据不同的容量要求、通信规模和资源状况等现实场景调整 HP-Socket 的各项性能参数(如:工作线程的数量、缓存池的大小、发送模式和接收模式等),优化资源配置,在满足应用需求的同时不必过度浪费资源。

工作流程

  1. 创建监听器对象

  2. 创建组件对象(并绑定监听器)

  3. 启动组件

  4. 连接远程主机(仅用于Agent组件)

  5. 处理通信事件(OnConnect/OnReceive/OnClose ......)

  6. 停止组件(可选,第7步销毁组件对象前会先停止组件)

  7. 销毁组件对象

  8. 销毁监听器对象

Agent Workflow

示例代码

  • C++

    #include <hpsocket/HPSocket.h>/* Listener Class */
    class CListenerImpl : public CTcpPullServerListener
    {
    
    public:
    	// 5. process network events
    	virtual EnHandleResult OnPrepareListen(ITcpServer* pSender, SOCKET soListen);
    	virtual EnHandleResult OnAccept(ITcpServer* pSender, CONNID dwConnID, UINT_PTR soClient);
    	virtual EnHandleResult OnHandShake(ITcpServer* pSender, CONNID dwConnID);
    	virtual EnHandleResult OnReceive(ITcpServer* pSender, CONNID dwConnID, int iLength);
    	virtual EnHandleResult OnSend(ITcpServer* pSender, CONNID dwConnID, const BYTE* pData, int iLength);
    	virtual EnHandleResult OnClose(ITcpServer* pSender, CONNID dwConnID, EnSocketOperation enOperation, int iErrorCode);
    	virtual EnHandleResult OnShutdown(ITcpServer* pSender);
    };
    
    int main(int argc, char* const argv[])
    {
    	// 1. Create listener object
    	CListenerImpl s_listener;
    	// 2. Create component object (and binding with listener object)
    	CTcpPullServerPtr s_pserver(&s_listener);
    	
    	// 3. Start component object
    	if(!s_pserver->Start("0.0.0.0", 5555))
    		exit(1);
    	
    	/* wait for exit */
    	// ... ... 
    	
    	// 6. (optional) Stop component object
    	s_pserver->Stop()
    
    	return 0;
    	
    	// 7. Destroy component object automatically
    	// 8. Destroy listener object automatically
    }

     

  • C

    #include <hpsocket/HPSocket4C.h>// 5. process network events
    EnHandleResult __HP_CALL OnConnect(HP_Agent pSender, HP_CONNID dwConnID);
    EnHandleResult __HP_CALL OnReceive(HP_Agent pSender, HP_CONNID dwConnID, int iLength);
    EnHandleResult __HP_CALL OnSend(HP_Agent pSender, HP_CONNID dwConnID, const BYTE* pData, int iLength);
    EnHandleResult __HP_CALL OnClose(HP_Agent pSender, HP_CONNID dwConnID, En_HP_SocketOperation enOperation, int iErrorCode);
    EnHandleResult __HP_CALL OnShutdown(HP_Agent pSender);
    
    int main(int argc, char* const argv[])
    {
    	HP_TcpPullAgentListener s_listener;
    	HP_TcpPullAgent s_agent;
    
    	// 1. Create listener object
    	s_listener	= ::Create_HP_TcpPullAgentListener();
    	// 2. Create component object (and binding with listener object)
    	s_agent		= ::Create_HP_TcpPullAgent(s_listener);
    	
    	/* Set listener callbacks */
    	::HP_Set_FN_Agent_OnConnect(s_listener, OnConnect);
    	::HP_Set_FN_Agent_OnSend(s_listener, OnSend);
    	::HP_Set_FN_Agent_OnPullReceive(s_listener, OnReceive);
    	::HP_Set_FN_Agent_OnClose(s_listener, OnClose);
    	::HP_Set_FN_Agent_OnShutdown(s_listener, OnShutdown);
    	
    	// 3. Start component object
    	if(!::HP_Agent_Start(s_agent, "0.0.0.0", TRUE))
    		exit(1);
    	
    	// 4. Connect to dest host
    	::HP_Agent_Connect(s_agent, "remote.host.1", REMOTE_PORT_1, nullptr);
    	::HP_Agent_Connect(s_agent, "remote.host.2", REMOTE_PORT_2, nullptr);
    	::HP_Agent_Connect(s_agent, "remote.host.3", REMOTE_PORT_3, nullptr);
    	
    	/* wait for exit */
    	// ... ... 
    	
    	// 6. (optional) Stop component object
    	::HP_Agent_Stop(s_agent)
    
    	// 7. Destroy component object
    	::Destroy_HP_TcpPullAgent(s_agent);
    	// 8. Destroy listener object
    	::Destroy_HP_TcpPullAgentListener(s_listener);
    	
    	return 0;
    }

     

  • 基础组件
    基础组件

  • SSL组件

  • HTTP组件

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (531)

加载中
看到hp就想起来惠普。。。。
03/19 15:16
回复
举报
java 的sdk呀,加一个,急用
03/14 17:37
回复
举报
伤神小怪兽软件作者
3.x版本之后已停更了java sdk
03/16 18:11
回复
举报
这名字起的一眼看去让我当成了打印机驱动
02/04 12:45
回复
举报
不止你一个
03/15 09:44
回复
举报
打分: 力荐
在官网下载,解压说缺少组件,打不开不知怎么回事,请大神解惑。
02/04 11:01
回复
举报
您好,我在DELPHI中使用HPSOCKET是,对类进行封装时发现,无发把一个具体的类实列和HP_TcpServer实例关联起来,无法做出完美的封装。 如果能在HPSocket对象中关联一个参数,增加一对函数,并在DLL中导出相应函数,就能完美解决这个问题。 举例如下:给HP_Server对象关联一个参数 pExtra,HP_Server事件回调函数中可以通过HP_Server对象取出这个关联的参数,方便在别的语言中进行封装。 __stdcall void HP_Server_SetConnectionExtra(HP_Server pServer, PVOID pExtra); __stdcall PVOID HP_Server_GetConnectionExtra(HP_Server pServer);
01/26 10:46
回复
举报
伤神小怪兽软件作者
这个需要好像没啥必要
01/31 20:29
回复
举报
请问有.net 的websocket Demo吗?
01/05 11:24
回复
举报
伤神小怪兽软件作者
01/12 19:07
回复
举报
我用hpsocket写了个Android版本的httpserver,同一个request,在前面4次都可以触发onAccept,第5次就不会触发onAccept,但输出的日志中可以看到执行了http_parser_execute,请问这是什么原因?
01/02 12:54
回复
举报
伤神小怪兽软件作者
连接重用的缘故。
01/04 15:21
回复
举报
打分: 力荐
我想做一个java版本的接口,请问在github上发布的ndk版本是unicode还是mbcs的?
2020/12/22 18:41
回复
举报
伤神小怪兽软件作者
mbcs
01/04 15:21
回复
举报
请教一下OnReceive中获取数据pServer->Peek(dwConnID, m_pData, iLength)返回找不到ConnID 对应的数据是什么情况?
2020/12/11 17:57
回复
举报
伤神小怪兽软件作者
OnReceive 内部调用 Peek 不应该找不到 ConnID的,检查你的参数值是否传递错误。
2020/12/15 02:08
回复
举报
请问服务器端怎么调用SYS_SSO_NoDelay()函数,第一参数socket怎么获取?在设置发送策略时,调用了HP_Server_SetSendPolicy()函数,还要同时调用SYS_SSO_NoDelay()函数吗?(C语言)
2020/11/27 16:42
回复
举报
伤神小怪兽软件作者
OnPrepareListen 中调用 SYS_SSO_NoDelay()
2020/12/05 23:15
回复
举报
更多评论
昨天 10:09

高性能网络通信框架 HP-Socket v5.8.3

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : https://www.docin.com/p-2571462318.html 下载地址 : https://github.com/ldcsaa/HP-Socket v5.8.3 更新 一、Bug Fix 某些通信组件在 ARM32 平台下触发 segment fault 段错误 Linux 平台的 UDP Client 通信组件在某些特殊场景下触发 segment fault 段错误 ARQ UDP 组件发送数据时可能发生死锁 二、第三方库更新 mimalloc 升级到 1.7.1 版本 llhttp 升级到 6.0.2 版本...

2
8
03/16 09:34

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

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : https://www.docin.com/p-2571462318.html 下载地址 : https://github.com/ldcsaa/HP-Socket v5.8.2 更新 一、Bug Fix 某些通信组件在 ARM32 平台下触发 segment fault 段错误 Linux 平台的 UDP Client 通信组件在某些特殊场景下触发 segment fault 段错误 二、第三方库更新 mimalloc 升级到 1.7.0 版本 llhttp 升级到 4.0.0 版本 OpenSSL 升级到 1.1.1j 版本 HP-Soc...

10
10
01/27 09:47

高性能网络通信框架 HP-Socket v5.8.1

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : https://www.docin.com/p-2571462318.html 下载地址 : https://github.com/ldcsaa/HP-Socket QQ Group: 44636872, 75375912 v5.8.1 更新 一、第三方库更新 HTTP 解析器:llhttp 取代 http_parser 内存分配器:mimalloc 取代 jemalloc OpenSSL 升级到 1.1.1i 版本 二、其他更新 库公开头文件移到 include/hpsocket 目录 Windows目录结构调整:Common/Src 改为 Src/Co...

9
11
2020/11/25 09:59

高性能网络通信框架 HP-Socket v5.7.3

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : https://www.docin.com/p-2287339564.html 下载地址 : https://github.com/ldcsaa/HP-Socket QQ Group: 44636872, 75375912 本次更新增加 UDP Node 组件,新增大量 API ! v5.7.3 更新 一、新增组件:UDP Node UDP Node 没有“连接”的概念,可以与任意地址相互收发数据 UDP Node 支持三种运行模式:单播、组播和广播 增加 UDP Node 组件示例 Demo ‘TestUDPNode’ ...

6
13
2020/05/08 09:46

高性能网络通信框架 HP-Socket v5.7.2

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : https://www.docin.com/p-2287339564.html 下载地址 : https://github.com/ldcsaa/HP-Socket QQ Group: 44636872, 75375912 本次更新增加 UDP Node 组件,新增大量 API ! v5.7.2 更新 一、新增组件:UDP Node UDP Node 没有“连接”的概念,可以与任意地址相互收发数据 UDP Node 支持三种运行模式:单播、组播和广播 增加 UDP Node 组件示例 Demo ‘TestUDPNode’ ...

18
33
2020/01/06 10:09

【新年呈献】高性能网络通信框架 HP-Socket v5.7.1

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : https://www.docin.com/p-2287339564.html 下载地址 : https://github.com/ldcsaa/HP-Socket 本次更新增加 UDP Node 组件,新增大量 API ! v5.7.1 更新 一、新增组件:UDP Node UDP Node 没有“连接”的概念,可以与任意地址相互收发数据 UDP Node 支持三种运行模式:单播、组播和广播 增加 UDP Node 组件示例 Demo ‘TestUDPNode’ UDP Node 工作流程 二、API 更新...

16
27
2019/12/10 10:30

HP-Socket v5.6.4 发布,高性能网络通信框架

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : https://www.docin.com/p-2257033571.html 下载地址 : https://github.com/ldcsaa/HP-Socket QQ Group: 44636872, 75375912 本次更新主要对 SSL、HTTP 和 UDP 系列组件作了优化和调整! v5.6.4 更新 一、SSL 组件更新 所有 SSL 组件增加以下接口方法支持加载内存证书 1) Server:SetupSSLContextByMemory(), AddSSLContextByMemory() 2) Agent:SetupSSLContextBy...

18
32
2019/12/04 10:52

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

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : https://www.docin.com/p-2257033571.html 下载地址 : https://github.com/ldcsaa/HP-Socket 本次更新主要对 SSL、HTTP 和 UDP 系列组件作了优化和调整! v5.6.3 更新 一、SSL 组件更新 所有 SSL 组件增加以下接口方法支持加载内存证书 1) Server:SetupSSLContextByMemory(), AddSSLContextByMemory() 2) Agent:SetupSSLContextByMemory() 3) Client:SetupSS...

11
22
2019/11/05 09:40

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

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : https://www.docin.com/p-2257033571.html 下载地址 : https://github.com/ldcsaa/HP-Socket 本次更新主要对 SSL、HTTP 和 UDP 系列组件作了优化和调整! v5.6.2 更新 一、SSL 组件更新 所有 SSL 组件增加以下接口方法支持加载内存证书 1) Server:SetupSSLContextByMemory(), AddSSLContextByMemory() 2) Agent:SetupSSLContextByMemory() 3) Client:SetupSS...

5
26
2019/09/23 09:40

高性能网络通信框架 HP-Socket v5.6.1

本次更新主要对 SSL、HTTP 和 UDP 系列组件作了优化和调整! v5.6.1 更新 一、SSL 组件更新 所有 SSL 组件增加以下接口方法支持加载内存证书 1) Server:SetupSSLContextByMemory(), AddSSLContextByMemory() 2) Agent:SetupSSLContextByMemory() 3) Client:SetupSSLContextByMemory() 所有 SSL 组件增加 GetSSLSessionInfo() 方法,用来获取 SSL 会话相关信息 SSL Server 组件提供默认的 SNI 服务器域名绑定机制,大多数...

22
35
2019/07/03 13:36

网络通信框架 HP-Socket v5.5.3,支持可靠 UDP

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : https://www.docin.com/p-2224828035.html 下载地址 : https://gitee.com/ldcsaa/HP-Socket ,https://github.com/ldcsaa/HP-Socket QQ Group: 75375912, 44636872 本次更新对 UDP 系列组件作了大量优化,新增了可靠 UDP 组件! v5.5.3 更新 一、UDP 组件更新 增加可靠 UDP 组件:IUdpArqServer、IUdpArqClient 增加可靠 UDP 示例 TestEcho-ARQ 和性能测试示例 Test...

6
36
2019/05/27 09:47

网络通信框架 HP-Socket v5.5.2,支持可靠 UDP

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : https://www.docin.com/p-2212773943.html 下载地址 : https://github.com/ldcsaa/HP-Socket QQ Group: 75375912, 44636872 本次更新对 UDP 系列组件作了大量优化,新增了可靠 UDP 组件! v5.5.2 更新 一、UDP 组件更新 增加可靠 UDP 组件:IUdpArqServer、IUdpArqClient 增加可靠 UDP 示例 TestEcho-ARQ 和性能测试示例 TestEcho-ARQ-PFM 可靠 UDP 组件详细说明请参...

11
33
2019/04/22 10:19

网络通信框架 HP-Socket v5.5.1,支持可靠 UDP

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : https://www.docin.com/p-2192372809.html 下载地址 : https://github.com/ldcsaa/HP-Socket QQ Group: 75375912, 44636872 本次更新对 UDP 系列组件作了大量优化,新增了可靠 UDP 组件! v5.5.1 更新 一、UDP 组件更新 增加可靠 UDP 组件:IUdpArqServer、IUdpArqClient 增加可靠 UDP 示例 TestEcho-ARQ 和性能测试示例 TestEcho-ARQ-PFM 可靠 UDP 组件详细说明请参...

15
66
2019/03/04 11:33

HP-Socket v5.4.4 发布,高性能跨平台网络通信框架

HP-Socket提供以下几类组件,详细内容请参考《HP-Socket网络通信框架开发指南》: Server:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。 Agent:Agent组件实质上是Multi-Client组件,与Server组件采用相同的技术架构。一个Agent组件对象可同时建立和高效处理大规模Socket连接。 Client:基于Event Select / POLL通信模型,每个组件对象创建一个通信线程并管理一个S...

11
17
2018/12/06 10:00

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

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : http://www.docin.com/p-2154702652.html 下载地址 : https://github.com/ldcsaa/HP-Socket HP-Socket提供以下几类组件,详细内容请参考《HP-Socket网络通信框架开发指南》: Server:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。 Agent:Agent组件实质上是Multi-Client组件,与Server组件采用相同的技术...

35
54
2018/11/01 11:03

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

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : http://www.docin.com/p-2137713732.html 下载地址 : https://gitee.com/ldcsaa/HP-Socket HP-Socket提供以下几类组件,详细内容请参考《HP-Socket网络通信框架开发指南》: Server:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。 Agent:Agent组件实质上是Multi-Client组件,与Server组件采用相同的技术架...

16
31
2018/09/05 09:37

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

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : http://www.docin.com/p-2129383071.html 下载地址 : https://github.com/ldcsaa/HP-Socket QQ Group: 75375912, 44636872 HP-Socket提供以下几类组件,详细内容请参考《HP-Socket网络通信框架开发指南》: Server:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。 Agent:Agent组件实质上是Multi-Client组件...

8
22
2018/06/26 09:13

高性能跨平台通信框架 HP-Socket v5.3.2 发布

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : http://www.docin.com/p-2079016612.html 下载地址 : https://github.com/ldcsaa/HP-Socket QQ Group: 75375912, 44636872 HP-Socket提供以下几类组件,详细内容请参考《HP-Socket网络通信框架开发指南》: Server:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。 Agent:Agent组件实质上是Multi-Client组件...

2
13
2018/05/04 11:10

5.4节呈献:HP-Socket v5.3.1 发布 — 支持 Android NDK

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : http://www.docin.com/p-2079016612.html 下载地址 : https://gitee.com/ldcsaa/HP-Socket QQ Group: 75375912, 44636872 HP-Socket提供以下几类组件,详细内容请参考《HP-Socket网络通信框架开发指南》: Server:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。 Agent:Agent组件实质上是Multi-Client组件...

5
13
2018/02/01 09:48

高性能网络通信框架 HP-Socket v5.2.1 发布

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : http://www.docin.com/p-2079016612.html 下载地址 : https://github.com/ldcsaa/HP-Socket QQ Group: 75375912, 44636872 HP-Socket提供以下几类组件,详细内容请参考《HP-Socket网络通信框架开发指南》: Server:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。 Agent:Agent组件实质上是Multi-Client组件...

24
27
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2019/06/04 14:28

HP-Socket国产优秀socket通信组件推荐

本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/clb929/article/details/51085983 * HP-Socket 官方网站:http://www.jessma.org * HP-Socket 项目主页:http://www.oschina.net/p/hp-socket * HP-Socket 开发文档:http://www.oschina.net/p/hp-socket/doc * HP-Socket 源代码下载地址:https://github.com/ldcsaa/HP-Socket 因为HP-Socket 的PACK模型自动处理了TCP协议socket通信的分包、组包、粘包、心跳...

0
1
发表了博客
2018/08/05 16:46

高性能网络通信框架 HP-Socket

HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。HP-Socket 对通信层实现完全封装,应用程序不必关注通信层的任何细节;HP-Socket 提供基于事件通知模型的 API 接口,能非常简单高效地整合到新旧应用程序中。 为了让使用者能方便快速地学习和使用 HP-S...

0
0
发表了博客
2019/06/04 11:48

高性能网络通信框架 HP-Socket

HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。HP-Socket 对通信层实现完全封装,应用程序不必关注通信层的任何细节;HP-Socket 提供基于事件通知模型的 API 接口,能非常简单高效地整合到新旧应用程序中。 为了让使用者能方便快速地学习和使用 HP-S...

0
0
发表了博客
2018/02/01 10:51

高性能网络通信框架 HP-Socket v5.2.1

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : http://www.docin.com/p-2079016612.html 下载地址 : https://github.com/ldcsaa/HP-Socket QQ Group: 75375912, 44636872 HP-Socket提供以下几类组件,详细内容请参考《HP-Socket网络通信框架开发指南》: Server:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。 Agent:Agent组件实质上是Multi-Client组件...

0
0
发表了博客
2018/02/11 18:27

软件推荐 ---一款优秀的通信组件 HP_Socket

* HP-Socket 官方网站:http://www.jessma.org * HP-Socket 项目主页:http://www.oschina.net/p/hp-socket * HP-Socket 开发文档:http://www.oschina.net/p/hp-socket/doc HP-Socket 源代码下载地址:https://github.com/ldcsaa/HP-Socket 自动处理了底层通信的很多东西封装的很好,使用方便 ,提供了丰富的事件支持 //服务端 //显示消息 delegate void ShowMsg(int connid, string msg); public partial class Form1 : Form...

0
0
发表了博客
2018/04/09 20:12

HP-Socket快速入门:分包、粘包解析

环境配置 vs2015 windows7 64位 hp-socket 5.0 安装hp-socket 新建控制台项目TelnetServer,打开Nuget管理工具,搜索hp-socket: 安装成功后,会是如下的目录结构: HP-SOCKET是使用c++开发的,所以针对不同的平台生成不同dll。 使用HP-SOCKET 在我们的main函数中,输入如下代码,大多数对于socket的封装都差不多,需要实现以下事件,这里也就直接声明使用了。 在这篇博客中,也只使用到了其中的三个。在实际项目中使用的时候,可...

0
0
发表了博客
2020/01/07 14:35

【新年呈献】高性能网络通信框架 HP-Socket v5.7.1

项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : https://www.docin.com/p-2287339564.html 下载地址 : https://github.com/ldcsaa/HP-Socket QQ Group: 44636872, 75375912 本次更新增加 UDP Node 组件,新增大量 API ! v5.7.1 更新 一、新增组件:UDP Node UDP Node 没有“连接”的概念,可以与任意地址相互收发数据 UDP Node 支持三种运行模式:单播、组播和广播 增加 UDP Node 组件示例 Demo ‘TestUDPNode’ ...

0
0
发表于软件架构专区
2016/08/14 11:46

高性能 TCP/UDP 通信框架 HP-Socket v3.5.3发布

HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。 HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口...

0
8
发表了博客
2019/06/04 11:58

浅谈HP-Socket在物联网的应用

原文链接:https://my.oschina.net/chrisforbt/blog/1669746 一、应用背景 去年公司成立了个项目——《智慧用电安全隐患监管服务平台》,计划是开发一款设备,能够安装在电箱里面,用于实时监控电线的温度、漏电、电流、烟雾等信息。如果检测到有问题,那么就马上发送推送到手机和PC web,同时也有短信通知和电话语音通知。当时听到这个项目,笔者是觉得十分有意义的,毕竟没有比人命更珍贵的东西了。如果能够做出这样一个系统,...

0
0
2020/11/26 07:20

【行业资讯】高性能网络通信框架 HP-Socket v5.7.3

v5.7.3 更新 一、新增组件:UDP Node UDP Node 没有“连接”的概念,可以与任意地址相互收发数据 UDP Node 支持三种运行模式:单播、组播和广播 增加 UDP Node 组件示例 Demo ‘TestUDPNode’ UDP Node 工作流程 二、API 更新 所有组件增加 Wait() 方法,用于等待组件关闭 所有通信组件增加 SetReuseAddressPolicy() 方法,支持设置地址重用策略 所有 SSL 通信组件增加 SetSSLCipherList() 方法,支持设置 SSL 加密套件 增加 Br...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2014/12/18 16:42

HP-Socket怎样发送紧急命令?

我想在发送队列里夹个塞有办法加没啊?比方说发送方正通过服务器向接收方中转数据,但接收方想暂停,这时向服务器发一个暂停的命令,由服务器中转给发送方,现实情况是,发送队列里有数据,这个命令会排在最后,请问有什么办法没有,听说TCP有个紧急模式,怎么用的呢?

11
0
发表了问答
2020/08/18 19:50

TCP agent 最多可以连接多少个客户端,5万个能连的了吗?

TCP agent 最多可以连接多少个客户端,5万个能连的了吗?

2
0
发表了问答
2020/08/18 19:46

Linux下能不能直接通过命令启动服务端,不要进命令后再输入start

Linux下能不能直接通过命令启动服务端,不要进命令后再输入start

5
0
发表了问答
2014/08/29 22:41

希望能有C#调用HPsocket的UDP列子

自己写的始终不太满意,希望能学习一下。感谢。

3
0
发表于开发技能专区
2020/02/09 21:51

为什么在5.7.1版本中没有了c#的例子? 以后不准备支持c#语言了么

我在5.6.4版本中还看到了C#版本 但是最新的5.7.1已经没有了 有什么状况发生了么?

3
0
2020/01/15 11:30

tcp服务端过段时间拒绝所有客户端连接

@伤神小怪兽 你好啊,想跟你请教个问题:我在使用hpsocket tcp pull 5.2.1.2版本 tcp poll的服务端跑几天后,服务端拒绝所有客户端连接,telnet本地端口也不通,没有有time_wait等,在拒绝客户端连接后,之前连接的上千个连接还能正常的收发,只是不能有新的客户端连接。随着客户端慢慢自动断开,最终一个客户端连接也没有了。此时依然不允许新的客户端连接。。不知道是不是客户端发的数据量大导致的问题。请问你有遇到过这种 ...

9
0
发表于开发技能专区
2020/01/13 19:44

httpserver可以当作一个简易的web 服务吗?还需要另外建立网站吗?

httpserver可以当作一个简易的web 服务吗?还需要另外建立网站吗?

1
0
2020/01/03 15:09

您好,我2012年1月2日下载的版本,发现Bug!求助作者

IUdpNode接口,在未调用Star()时,Send()目标主机数据,返回false,但ErrorMessage的值是Success,ErrorCode也是0,OK???

1
0
2019/08/06 15:06

HP-Socket

@伤神小怪兽 你好,想跟你请教个问题: 下载了2019.7.09号的源码,运行(VS2012,NET4.0)C#的DEMO,总是提示缺少引用:错误 2 类型“System.Object”在未被引用的程序集中定义。必须添加对程序集“netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51”的引用。

1
0
发表于AI & 大数据专区
2019/07/27 11:36

HpSocket提供的Linux编译脚本compile.sh,能用海思交叉编译工具链编译吗

@伤神小怪兽 大侠你好! 我看到文档中有针对linux环境下的编译脚本,想用himix(海思开发板提供的交叉编译工具链)进行编译,开发板的Linux版本和gcc版本都符合要求,请问是否可以直接使用编译脚本编译啊,还是需要修改些什么?谢谢!

3
0
发表于AI & 大数据专区
2019/07/08 13:37

文档中 SSL 组件, SSL代表什么,都是什么单词的缩写呢?

文档中 SSL 组件, SSL代表什么,都是什么单词的缩写呢?

2
0
2019/06/10 10:40

请问HP-socket支持阻塞模式吗?

@伤神小怪兽 你好,想跟你请教个问题:

1
0
发表了问答
2017/04/26 13:31

关于HP传大文件的问题

@伤神小怪兽 你好,想跟你请教个问题:你好,可以给个hp传送大文件的例子吗?现在的例子都没有,只有小信息的收发,大文件不知道怎么收,怎么分段发,PULL不会用,而PACK又只能发4M以下的,求教,谢谢

6
0
2019/05/10 21:08

Http服务端如何发送大文件?

我想用HP库开发一个Http服务,网页浏览器请求下载大文件时,Http服务端如何实现分段发送数据?

2
1
发表于服务端专区
2019/04/09 10:03

调用hpsocket5.2.1.2版本的tcp iocp的 pull方式 服务端。有时候发生程序崩溃,崩溃demp显示 HPSocket!HP_Destroy_HttpsClient+0x7814

调用时候发生崩溃,实在是找不到原因。我并没有调用http的模块啊,为什么会崩溃点显示这一步骤呢 @伤神小怪兽

5
0
2018/07/31 18:16

hp-socket mono linux 如何pinvoke

hp-socket mono linux 如何pinvoke

1
0
发表了问答
2017/05/20 17:05

HP-Socket中的OpenSSL证书生成问题

@伤神小怪兽 你好,想跟你请教个问题: HP-Socket文档中已经说明可以支持OpenSSL安全套接字密码库,但却没有详细的OpenSSL证书生成说明。 通过本人的网络查询到一些生成方法,但是效果没有达到作者您的HP-Socket内的OpenSSL一致性。 1.首先没有作者您的HP-Socket内的OpenSSL地.pem文件。 2.生成的证书有效日期也只能是365天的。 3.本人生成的证书在HP-Socket的SSL初始化中总是失败,没有一次成功。参数路径是填对的。 期间本人去...

3
0
发表了问答
2017/08/03 15:33

HP-Socket TcpClient发包

使用HP-Socket的TcpClient连续两次发送数据,在服务器端接收的时候在OnReceive()里面处理了一次,应该怎么处理让它分开接收数据呢

4
0
发表了问答
2017/04/26 16:22

HpSocket接收数据,接收到的数据分两次响应

接收服务器的数据,在一台设备上接收为一包数据2400byte(正常),但是在另外一台机器上OnReceive产生了两次事件,第一次1400byte第二次1000byte(异常),请问这是什么原因,如何才能一个事件接收到所有数据,谢谢

3
0
发表了问答
2017/07/07 17:26

请问在HP-socket框架里面如何配置能够提高并发量

我用这个框架搭建的服务器,当长连接数量达到1300时,开始出现大规模掉线,请问在HP-socket框架里面如何配置能够提高并发量,谢谢

1
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
531 评论
2.3K 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部