之前粗略看過一段時間的nginx原始碼,對基於c實現的web server有了初步的理解。現在結合muduo網路庫來學習下c++的web server。
首先是muduo網路庫的安裝和環境搭建:
可參見muduo網路庫是給出了很多的例子,我首先是閱讀了最簡單的echo的原始碼,然後自己編寫makefile來生成可執行檔案。
echo的原始碼路徑:
/root/unix/muduo-master/examples/******/echo
makefile的編寫:
lib_path = -l/root/unix/build/release-install/lib/
header_path = -i/root/unix/build/release-install/include/
libs=-lmuduo_net -lmuduo_base -lpthread
cflags=$(lib_path) $(header_path)
cc=g++
echo_server: main.o echo.o
$(cc) $(cflags) -o echo_server main.o echo.o $(libs)
main.o:main.cc
$(cc) $(cflags) -c main.cc
echo.o: echo.cc echo.h
$(cc) $(cflags) -c echo.cc
把makefile檔案放在/echo資料夾裡面,在命令列輸入make,即可得到可執行檔案echo_server。然後執行echo_server
ubuntu裡面執行echo server
我沒有寫專門的client程式,而是在windows主機使用telnet。測試結果如下:
client每輸入乙個字元,server會將該字元直接回送回來在client顯示。
muduo網路庫的安裝和使用
一 安裝依賴庫 安裝cmake sudo apt get install cmake 安裝boost sudo apt get install libboost dev libboost test dev 三個非必須的依賴庫 curl c ares dns google protobuf sudo ...
muduo網路庫編譯安裝
sudo apt get install cmake sudo apt get install libboost dev tar zxf muduo 0.9.1 beta.tar.gz cd muduo build.shcentos系統使用yum install boost devel來安裝libb...
muduo網路庫Timestamp類
muduo base timestamp.cc muduo base timestamp.h muduo base copyable.h muduo base types.h 其中timestamp.cc和timestamp.h 是類的檔案。copyable.件中包括的空類是乙個標識類,表示繼承該類...