当前位置: 首页 > 软件库 > 程序开发 > 网络工具包 >

HPServer

网络编程框架
授权协议 BSD
开发语言 C/C++
所属分类 程序开发、 网络工具包
软件类型 开源软件
地区 不详
投 递 者 侯涵煦
操作系统 Windows
开源组织
适用人群 未知
 软件概览

开源的网络编程框架。可以当做一个入门级的网络编程框架阅读。

虽然主页上介绍"HPServer is a free, open-source light-weighted framework for concurrent networking software. ",但是实际上hpserver完成事情是相当有限的。 类似于libevent,没有管理线程,内部也没有异步队列的实现。所以基本上可以认为就是一个libevent的简单实现。hpserver的特点有下面这些:

  • object-oriented;

  • high-performance;

  • cross-platform, support windows & linux;

  • event-driven;

  • support I/O events, timer, and signals;  // 支持IO事件,定时器和信号

  • support acceptor-connector pattern internally, which will faciliates your programming;

  • support multithread; // 这里所谓的支持多线程猜想意思应该就是允许我们开辟多个reactor对象在多个线程里面使用

hpserver的类设计个人感觉有点麻烦,而且在信号处理方面类设计并不优雅。hpserver引入很多概念,了解这些概念倒是非常有帮助。hpserver设计的时候将 event handler,event item,handle(fd或者是信号编号)分开了,但是阅读代码就会发现这些东西都是1:1:1进行绑定的。对于IO来说还可以接受,但是对于信号处理就非常悲剧了, 因为对于每一种信号必须产生一个EventHandler实例。不过还好我们关注的信号还是比较有限的,所以开辟的EventHandler还不算太多。这个从samples/signal-handler.cpp就可以看出来。

  • 今天单位的DL380G4服务器系统崩溃,发现此文有帮助,特转载过了留存 一、HP DL380 系统windows安装     HP DL380/360/580安装系统基本一样,如果带有数组柜可以安装系统后利用系统smartstart带的工具进行配置(开机时需要先开启数组柜,再开启Server)     MSA60 不能再接其它的数组柜,MAS1000与MSA1500能接MSA20,MSA30  

  • HPServer是一个为并发高性能网络服务应用而开发的,轻量级的开源网络框架,以C++作为开发语言。 HPServer的一些特性:     采用事件驱动的机制,并且统一支持I/O事件、定时器事件和Signal事件;     支持精度为ms的定时器;     内建支持Acceptor,Connector组件,方便程序设计;     支持多线程(但不是线程安全的);     跨平台,目前HPServe

  • 查看温度    hpasmcli -s "show temp" 查看风扇    hpasmcli -s 'show fans' 查看电源模块    hpasmcli -s "show powersupply" 查看机器型号,序列号,CPU,内存大小   hpasmcli -s "show server" 查看控制器状态  hpacucli ctrl all show status 查看硬盘状态  

 相关资料
  • 1. 网络编程概述 自从互联网诞生以来,现在基本上所有的程序都是网络程序,很少有单机版的程序了。 计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信。网络编程就是如何在程序中实现两台计算机的通信。 举个例子,当你使用浏览器访问新浪网时,你的计算机就和新浪的某台服务器通过互联网连接起来了,然后,新浪的服务器把网页内容作为数据通过互联网传输到你的电脑上。 由于你的电脑上可能不止浏览器,

  • Socket Linux Socket 编程(不限 Linux) Socket 中的 read()、write() 函数 ssize_t read(int fd, void *buf, size_t count); ssize_t write(int fd, const void *buf, size_t count); read() read 函数是负责从 fd 中读取内容。 当读成功时,rea

  • 网络基础 Socket I/O 模型的演进

  • Unix/Linux网络编程常用的头文件有: arpa/inet.h netinet/in.h sys/socket.h netdb.h hostent(结构体)表示主机 servent(结构体)表示服务数据库的登记项信息

  • 自从互联网诞生以来,现在基本上所有的程序都是网络程序,很少有单机版的程序了。 计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信。网络编程就是如何在程序中实现两台计算机的通信。 举个例子,当你使用浏览器访问新浪网时,你的计算机就和新浪的某台服务器通过互联网连接起来了,然后,新浪的服务器把网页内容作为数据通过互联网传输到你的电脑上。 由于你的电脑上可能不止浏览器,还有QQ、Skype

  • 自从互联网诞生以来,现在基本上所有的程序都是网络程序,很少有单机版的程序了。 计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信。网络编程就是如何在程序中实现两台计算机的通信。 举个例子,当你使用浏览器访问新浪网时,你的计算机就和新浪的某台服务器通过互联网连接起来了,然后,新浪的服务器把网页内容作为数据通过互联网传输到你的电脑上。 由于你的电脑上可能不止浏览器,还有QQ、Skype

  • 概述 网络程序指有客户端和服务器端,服务器端通常可以提供一些服务,客户端需要和服务器端建立连接后,消费服务器端所提供的服务,网络程序横跨所有 TCP/IP 5 层网络模型,本部分内部包括: 网络编程基础说明 网络程序示例 网络概念原理实践 下图描述的是一对 TCP 客户与服务器通信的网络程序发生的一些典型事件的时间表: 服务器首先启动,稍后某个时刻客户启动,它试图连接到服务器。客户给服务器发送一个

  • 网络基础 在互联网上之间的通信交流,一般是基于 TCP (Transmission Control Protocol,传输控制协议) 或者 UDP (User Datagram Protocol,用户数据报协议) ,如下图: 编写 Java 应用,我们只需关注于应用层 (application layer),而不用关心 TCP 和 UDP 所在的传输层是如何实现的。java.net 包含了你编程所