Qt編寫的項目作品21-網絡請求客戶端/服務器

一、實現原理

  1. http請求就是tcp通信,所以第一步實例化QTcpServer類監聽端口,並綁定newConnection信號槽。
  2. 一旦有新的連接,交給專門的解包類處理,將對應的數據解包,http請求有特定的頭部數據等,比如是否需要保活等參數,將其取出來並解析應用。
  3. 收發數據交互其實就是QTcpSocket通信對象的交互,只是收發數據帶了對應的頭部數據。
  4. 回覆網頁數據只需要將網頁的html數據發給請求對象即可。

二、功能特點

  1. 支持多個客戶端連接併發同時處理,100個毫無壓力。
  2. 可設置http請求是長連接還是短連接,默認長連接。
  3. 支持多種回覆數據格式,其中包括網頁內容、json數據等。
  4. 服務端示例中同時包含讀取文件回覆、讀取數據庫回覆。
  5. 支持8種配色方案(暗黑、灰黑、深綠、淺黃、深藍、深黑、暗藍、默認)。
  6. 客戶端可指定請求地址,服務端可指定網卡和端口進行監聽。
  7. 所有請求和連接都有計數,所有在線請求的IP和端口都顯示在表格中。
  8. 可以提供一個簡易的網頁配置服務,包括交互,作為設備的web配置。
  9. 可自由拓展增加權限校驗等,作為一個http請求服務器。
  10. 純Qt實現,代碼框架整潔,註釋完整,支持任意Qt版本、任意編譯器、任意操作系統。

三、效果圖


Qt編寫的項目作品21-網絡請求客戶端/服務器


Qt編寫的項目作品21-網絡請求客戶端/服務器


Qt編寫的項目作品21-網絡請求客戶端/服務器


Qt編寫的項目作品21-網絡請求客戶端/服務器


Qt編寫的項目作品21-網絡請求客戶端/服務器


Qt編寫的項目作品21-網絡請求客戶端/服務器


四、體驗地址

國內站點:[https://gitee.com/feiyangqingyun](https://gitee.com/feiyangqingyun)

國際站點:[https://github.com/feiyangqingyun](https://github.com/feiyangqingyun)


分享到:


相關文章: