使用Libmicrohttpd搭建內(nèi)嵌(本地)服務(wù)器的方法-創(chuàng)新互聯(lián)

Libmicrohttpd簡介

成都創(chuàng)新互聯(lián)"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營銷需求!成都創(chuàng)新互聯(lián)具備承接各種類型的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作項(xiàng)目的能力。經(jīng)過十載的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評。

GNU Libmicrohttpd是一個用來在項(xiàng)目中內(nèi)嵌http服務(wù)器的C語言庫,它具有以下幾個非常鮮明的特點(diǎn):

C語言庫,小而快。

API非常簡單,且都是可重入的。

兼容HTTP1.1。

支持4種多線程模型(select、poll、pthread、thread poll)。

跨平臺。

生成的二制文件只有32K(不包含TLS/SSL等額外功能)。

搭建一個簡單的本地靜態(tài)服務(wù)器

這篇文章里,我們只編寫一個簡單的靜態(tài)服務(wù)器,對于用戶的所有請求我們都只返回同一個html頁面, 該頁面顯示一串字符。

1. 下載Libmicrohttpd,編譯后添加進(jìn)VS項(xiàng)目

為了使用Libmicrohttpd,我們需要將其添加進(jìn)VS項(xiàng)目中。這里我們選擇編譯源代碼生成靜態(tài)庫,因?yàn)楣俜浇o的下載靜態(tài)庫版本鏈接在使用時會有問題,可能是運(yùn)行庫版本不一致; 并且在使用靜態(tài)庫的情況下,我們只需要引用兩個文件就可以了(一個頭文件、一個庫文件),項(xiàng)目結(jié)構(gòu)不會混亂不清。

實(shí)際上Libmicrohttpd的源碼編譯非常簡單,它提供了VS編譯文件,基本上我們只需要進(jìn)入<>w32目錄,在該目錄下選擇合適的VS子目錄下的sln文件,雙擊打開就可以了。打開后,修改設(shè)置libmicrohttpd項(xiàng)目為靜態(tài)庫項(xiàng)目(記得修改生成文件的后綴名,因?yàn)槟J(rèn)是dll),右擊生成就可以編譯成功了。

生成的文件包括一個頭文件和一個靜態(tài)庫文件,新建一個VS控制臺項(xiàng)目,并將它們添加到VS項(xiàng)目中。

2. main函數(shù)

main函數(shù)非常簡單,核心調(diào)用只有2個函數(shù):<>MHD_start_daemonMHD_stop_daemon,分別開始和停止http服務(wù)器。

int main()
{
  const int port = 8888;

  struct MHD_Daemon* daemon = 
    MHD_start_daemon(MHD_USE_SELECT_INTERNALLY, port
    , NULL, NULL, connectionHandler, NULL, MHD_OPTION_END);
  if (daemon == NULL) {
    std::cout << "cannot start server!\n";
    return -1;
  }

  std::cin.get();
  MHD_stop_daemon(daemon);
  return 0;
}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站bm7419.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁名稱:使用Libmicrohttpd搭建內(nèi)嵌(本地)服務(wù)器的方法-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://bm7419.com/article42/djhehc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作網(wǎng)站導(dǎo)航、網(wǎng)站維護(hù)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)公司網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司