libhv是一個比libevent、libev、libuv更易用的跨平台國產網絡庫,用來開發TCP/UDP/SSL/HTTP/WebSocket客戶端/服務端。
項目地址:https://github.com/ithewei/libhv.git
碼雲鏡像:https://gitee.com/libhv/libhv.git
QQ技術交流群:739352073
libhv博客專欄:https://hewei.blog.csdn.net/category_9866493.html
libhv源碼分析:https://blog.csdn.net/qu1993/category_10637982.html
📚 教程目錄
libhv教程01–介紹與體驗
libhv教程02–編譯與安裝
libhv教程03–鏈庫與使用
libhv教程04–編寫一個完整的命令行程序
libhv教程05–事件循環以及定時器的簡單使用
libhv教程06–創建一個簡單的TCP服務端
libhv教程07–創建一個簡單的TCP客戶端
libhv教程08–創建一個簡單的UDP服務端
libhv教程09–創建一個簡單的UDP客戶端
libhv教程10–創建一個簡單的HTTP服務端
libhv教程11–創建一個簡單的HTTP客戶端
libhv教程12–創建一個簡單的WebSocket服務端
libhv教程13–創建一個簡單的WebSocket客戶端
libhv教程14–200行實現一個純C版jsonrpc框架(文本協議拆包)
libhv教程15–200行實現一個C++版protorpc框架(二進制協議拆包)
libhv教程16–多線程/多進程服務端編程
libhv教程17–Qt中使用libhv
libhv教程18–動手寫一個tinyhttpd
🍭 示例代碼
c版本
事件循環: examples/hloop_test.c
TCP回顯服務: examples/tcp_echo_server.c
TCP聊天服務: examples/tcp_chat_server.c
TCP代理服務: examples/tcp_proxy_server.c
UDP回顯服務: examples/udp_echo_server.c
UDP代理服務: examples/udp_proxy_server.c
SOCKS5代理服務: examples/sock5_proxy_server.c
jsonRPC示例: examples/jsonrpc
tinyhttpd示例: examples/tinyhttpd.c
tinyproxyd示例: examples/tinyproxyd.c
c++版本
事件循環: evpp/EventLoop_test.cpp
事件循環線程: evpp/EventLoopThread_test.cpp
事件循環線程池: evpp/EventLoopThreadPool_test.cpp
TCP服務端: evpp/TcpServer_test.cpp
TCP客戶端: evpp/TcpClient_test.cpp
UDP服務端: evpp/UdpServer_test.cpp
UDP客戶端: evpp/UdpClient_test.cpp
HTTP服務端: examples/http_server_test.cpp
HTTP客戶端: examples/http_client_test.cpp
WebSocket服務端: examples/websocket_server_test.cpp
WebSocket客戶端: examples/websocket_client_test.cpp
protobufRPC示例: examples/protorpc
模擬實現著名的命令行工具
網絡連接工具: examples/nc
網絡掃描工具: examples/nmap
HTTP服務程序: examples/httpd
HTTP壓測工具: examples/wrk
URL請求工具: examples/curl
文件下載工具: examples/wget
服務注冊與發現: examples/consul
Tips:
后面教程里需要注意或容易忽略的點我都會用Tips提示;
另外開源創作實屬不易,如果你覺得不錯,別忘了在 github 上star下哦,讓更多的人加入libhv的開發使用,完善libhv的網絡生態。
————————————————
版權聲明:本文為CSDN博主「ithewei」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/GG_SiMiDa/article/details/113733758