hp-pg电子游戏网站

2顶
0踩

hp-socket v5.1.1 for windows

2017-12-05 17:43 by 资深记者 guaishou 评论(0) 有7300人浏览

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  for linux 即将发布,敬请期待。

----------------------------------------------------------------

通用性

  • hp-socket 的唯一职责就是接收和发送字节流,不参与应用程序的协议解析等工作。
  • hp-socket 与应用程序通过接口进行交互,并完全解耦。任何应用只要实现了 hp-socket 的接口规范都可以无缝整合 hp-socket。

易用性

  • 易用性对所有通用框架都是至关重要的,如果太难用还不如自己重头写一个来得方便。因此,hp-socket 的接口设计得非常简单和统一。
  • hp-socket 完全封装了所有底层通信细节,应用程序不必也不能干预底层通信操作。通信连接被抽象为 connection id,connection id 作为连接的唯一标识提供给应用程序来处理不同的连接。
  • hp-socket 提供 push / pull / pack 等接收模型, 应用程序可以灵活选择以手工方式、 半自动方式或全自动方式处理封解包, pull / pack 接收模型在降低封解包处理复杂度的同时能大大减少出错几率。

高性能

  • client 组件:基于 event select 通信模型,在单独线程中执行通信操作,避免与主线程或其他线程相互干扰。每个组件对象管理一个 socket 连接。
  • server 组件:基于 iocp 通信模型,并结合缓存池、私有堆(private heap)等技术,支持超大规模连接,在高并发场景下实现高效内存管理。
  • agent 组件:对于代理服务器或中转服务器等应用场景,服务器自身也作为客户端向其它服务器发起大规模连接,一个 agent 组件对象同时可管理多个 socket 连接;agent 组件与 server 组件采用相同的技术架构,可以用作代理服务器或中转服务器的客户端部件。

伸缩性

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

   (项目澳门pg电子游戏主页:,下载地址:)


*** 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

*** 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_addservercontext		(删除)
    4) hp_ssl_isvalid			(删除)
    5) hp_sslagent_setupsslcontext		(增加)
    6) hp_sslclient_setupsslcontext	(增加)
    7) hp_sslserver_setupsslcontext	(增加)
    8) hp_sslserver_addsslcontext		(增加)
    9) hp_sslagent_cleanupsslcontext	(增加)
    10) hp_sslclient_cleanupsslcontext	(增加)
    11) hp_sslserver_cleanupsslcontext	(增加)

2
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 解决 cvc-complex-type.2.4.d: invalid content was found 具体参考http://henatne.iteye.com/blog/837186

  • sql server 作者:sanle  来源:博客园  发布时间:2006-04-27 13:06  阅读:3402 次  原文链接   [收藏]   1.清空日志:dump transaction 库名 with no_log  2.截断事务日志:backup log 数据库名 with no_log  3.收缩数据库文件(如果不压缩,数据库的文件不会减小)

  • sql server 真是越来越有看头。当我们还在为 linux 上运行 sql server 而兴奋的时候,sql server 已经开启了 容器化之路,至此才能看清微软的胸怀,开始拥抱更大的世界。当我越来越深入去阅读有关 docker 容器的文档,已然发现曾经部署上千台 linux mysql 的场景,如今在 docker 的帮助下,sql server 也是手到擒来。如果 sql serve...

  • 本文转载自:http://blog.csdn.net/andylaudotnet/article/details/1763573          性能调节的目的是通过将网络流通、磁盘 i/o 和 cpu 时间减到最小,使每个查询的响应时间最短并最大限度地提高整个数据库服务器的吞吐量。为达到此目的,需要了解应用程序的需求和数据的逻辑和物理结构,并在相互冲突的数据库使用之间(如联机事务处理 ...

  • 1、在ibf_topics增加一个字段kernel,属性为tinyint(1) default 02、在lang_forums内增加: code forum_kernel  => 本版精华,cpt_kernel  => 标记为精华,cpt_unkernel => 取消精华,3、修改sources/forums.php大约203行 code if ($ibforum

  • sql insert into `ibf_conf_settings_titles` values (26, 金钱系统设定, 在这里你可以设置论坛的金钱的基准参数,请键入合理的整数。如果启用金钱系统,则每一项都必须填入数字,不能留空。, 12, 0, 金钱系统); insert into `ibf_conf_settings` values (228, 启用金钱系统, , 2

  • 问题描述: 项目突然出现了这个问题,提示说ref 标签 现在没有 local这个属性了 问题处理: 使用bean属性代替local 问题原因: ...可能和spring 版本(可能不同项目存在冲突) ,或jdk 版本有关...

  • eclipse中maven子模块pom覆盖父pom配置,combine.self=...cvc-complex-type.3.2.2: attribute 'combine.self' is not allowed to appear in element 'configuration'. <build> <plugins> ...

  • cvc-complex-type.3.2.2: attribute 'singleton' is not allowed to appear in element 'bean 2011年05月14日 00:42:00 阅读数:20762  在spring2.0中,bean没有“singleton”这个属性,而是在“scope”中对它...

  • 将版本号改成 3.0 以上的即可。  

  • 虽然我手动地知道该文档确实有效,但dom验证器还是对我说:cvc-complex-type.3.2.2: attribute is not allowed to appear in the element 我已经确定:setnamespaceaware()设置为trueschemalanguage属性在...

  • <property name="triggers"> <list> <ref local="aaatrigger" />..."cvc-complex-type.3.2.2: 元素 'ref' 中不允许出现属性 'local'。" 将local改为bean就可以 将代码改为 <proper.

  • 关联错误信息有英文版:"cvc-complex-type.3.2.2: attribute ‘local’ is not 关联错误信息有日文版:cvc-complex-type.3.2.2: 属性 ‘local’ は要素 ‘ref’ に現れることが許可されていません。 原因:spring...

  • 问题 caused by: org.xml.sax.saxparseexception: cvc-complex-type.4: attribute ‘targetref’ must appear on element ‘sequenceflow’ 发布流程图时报以上错误 解决 1、查看是否真正指向了下一级 如下图的流程...

  • 为什么80%的码农都做不了架构师?>>> ...

  • 出现cvc-complex-type.3.2.2: attribute 'content-negotiation-manager' is not allow问题,查看spring mvc的配置版本是否正确  xmlns:xsi=...

  • 2019独角兽企业重金招聘python工程师标准>>> ...

  • 如果在spring2.*中使用spring1.*的单例属性便会报错:org.xml.sax.saxparseexception: cvc-complex-type.3.2.2: attribute 'singleton' is not allowed to appear in element 'bean'. 在spring2.*中,bean没有...

  • 报错具体内容如下:cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。 解决步骤如下: 跟随 arctic fox 更新的其中一个重点就是 agp 7.0 的调整 … 使用 android gradle plugin 7.0 构建...

  • org.activiti.bpmn.exceptions.xmlexception: cvc-complex-type.2.4.a: invalid content was found starting with element 'process'. one of '{"http://www.omg.org/spec/bpmn/20100524/model":import, ...

global site tag (gtag.js) - google analytics
网站地图