ithewei 6 年之前
父节点
当前提交
3f041fad65
共有 3 个文件被更改,包括 181 次插入3 次删除
  1. 36 3
      README.md
  2. 130 0
      html/downloads/README.md
  3. 15 0
      html/downloads/scripts/getting_started.sh

+ 36 - 3
README.md

@@ -1,3 +1,5 @@
+[![travis build status](https://travis-ci.org/ithewei/hw.svg?branch=master)](https://travis-ci.org/ithewei/hw)
+
 ## Intro
 
 hw 是一套跨平台c/c++基础组件,函数名/类名以h/H开头
@@ -12,6 +14,25 @@ hw 是一套跨平台c/c++基础组件,函数名/类名以h/H开头
 
 - c++11
 
+## Getting Started
+```shell
+git clone https://github.com/ithewei/hw.git
+cd hw
+make httpd curl
+
+bin/httpd -d
+ps aux | grep httpd
+
+# http web service
+bin/curl -v localhost:8080
+
+# indexof
+bin/curl -v localhost:8080/downloads/
+
+# http api service
+bin/curl -v -X POST localhost:8086/v1/api/json -H "Content-Type:application/json" -d '{"user":"admin","pswd":"123456"}'
+```
+
 ## Module
 
 ### data-structure
@@ -54,9 +75,16 @@ hw 是一套跨平台c/c++基础组件,函数名/类名以h/H开头
 ### event
 - hloop.h:       事件循环
 
+#### iowatcher
+- EVENT_SELECT
+- EVENT_POLL
+- EVENT_EPOLL   (linux only)
+- EVENT_KQUEUE  (mac/bsd)
+- EVENT_IOCP    (windows only)
+
 ### http
 - http_client.h: http客户端
-- http_server.h: http服务端
+- HttpServer.h:  http服务端
 
 ### other
 
@@ -76,7 +104,7 @@ hw 是一套跨平台c/c++基础组件,函数名/类名以h/H开头
 - make udp:   udp server
 - make nc:    network client
 - make nmap:  host discovery
-- make httpd: http服务包含web service和api service)
+- make httpd: http服务(包含web service和api service)
 - make curl:  基于libcurl封装http客户端
 
 ### tests
@@ -93,5 +121,10 @@ hw 是一套跨平台c/c++基础组件,函数名/类名以h/H开头
 #### compile WITH_CURL
 - make DEFINES="WITH_CURL CURL_STATICLIB"
 
-### compile WITH_NGHTTP2
+#### compile WITH_NGHTTP2
 - make DEFINES=WITH_NGHTTP2
+
+#### other features
+- USE_MULTIMAP
+- WITH_WINDUMP
+- ENABLE_IPV6

+ 130 - 0
html/downloads/README.md

@@ -0,0 +1,130 @@
+[![travis build status](https://travis-ci.org/ithewei/hw.svg?branch=master)](https://travis-ci.org/ithewei/hw)
+
+## Intro
+
+hw 是一套跨平台c/c++基础组件,函数名/类名以h/H开头
+
+## platform
+
+- gcc
+- mingw
+- msvc
+
+## required
+
+- c++11
+
+## Getting Started
+```shell
+git clone https://github.com/ithewei/hw.git
+cd hw
+make httpd curl
+
+bin/httpd -d
+ps aux | grep httpd
+
+# http web service
+bin/curl -v localhost:8080
+
+# indexof
+bin/curl -v localhost:8080/downloads/
+
+# http api service
+bin/curl -v -X POST localhost:8086/v1/api/json -H "Content-Type:application/json" -d '{"user":"admin","pswd":"123456"}'
+```
+
+## Module
+
+### data-structure
+- array.h:       动态数组
+- list.h:        链表
+- queue.h:       队列
+- heap.h:        堆
+
+### base
+- hplatform.h:   平台相关宏
+- hdef.h:        宏定义
+- hversion.h:    版本
+- hbase.h:       基本接口
+- hsysinfo.h:    系统信息
+- hproc.h:       子进程/线程类
+- hmath.h:       math扩展函数
+- htime.h:       时间
+- herr.h:        错误码
+- hlog.h:        日志
+- hsocket.h:     socket操作
+- hstring.h:     字符串
+- hvar.h:        var变量
+- hobj.h:        对象基类
+- hgui.h:        gui相关定义
+- hbuf.h:        缓存类
+- hfile.h:       文件类
+- hdir.h:        ls实现
+- hscope.h:      作用域RAII机制
+- hmutex.h:     同步锁
+- hthread.h:    线程
+- hthreadpool.h:线程池
+
+### utils
+- hmain.h:       main_ctx: arg env
+- hendian.h:     大小端
+- ifconfig.h:    ifconfig实现
+- iniparser.h:   ini解析
+- singleton.h:   单例模式
+
+### event
+- hloop.h:       事件循环
+
+#### iowatcher
+- EVENT_SELECT
+- EVENT_POLL
+- EVENT_EPOLL   (linux only)
+- EVENT_KQUEUE  (mac/bsd)
+- EVENT_IOCP    (windows only)
+
+### http
+- http_client.h: http客户端
+- HttpServer.h:  http服务端
+
+### other
+
+- h.h:          总头文件
+- Makefile.in:   通用Makefile模板
+- main.cpp.tmpl: 通用main.cpp模板
+
+## BUILD
+
+### examples
+
+- make all
+- make test:  服务端master-workers model
+- make timer: 定时器测试
+- make loop:  事件循环(包含timer、io、idle)
+- make tcp:   tcp server
+- make udp:   udp server
+- make nc:    network client
+- make nmap:  host discovery
+- make httpd: http服务(包含web service和api service)
+- make curl:  基于libcurl封装http客户端
+
+### tests
+- make webbench: http服务压力测试程序
+- make unittest: 单元测试
+
+### compile options
+#### compile with print debug info
+- make DEFINES=PRINT_DEBUG
+
+#### compile WITH_OPENSSL
+- make DEFINES=WITH_OPENSSL
+
+#### compile WITH_CURL
+- make DEFINES="WITH_CURL CURL_STATICLIB"
+
+#### compile WITH_NGHTTP2
+- make DEFINES=WITH_NGHTTP2
+
+#### other features
+- USE_MULTIMAP
+- WITH_WINDUMP
+- ENABLE_IPV6

+ 15 - 0
html/downloads/scripts/getting_started.sh

@@ -0,0 +1,15 @@
+#!/bin/bash
+
+make httpd curl
+
+bin/httpd -d
+ps aux | grep httpd
+
+# http web service
+bin/curl -v localhost:8080
+
+# indexof
+bin/curl -v localhost:8080/downloads/
+
+# http api service
+bin/curl -v -X POST localhost:8086/v1/api/json -H "Content-Type:application/json" -d '{"user":"admin","pswd":"123456"}'