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

Libmicrohttpd簡(jiǎn)介

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

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

C語(yǔ)言庫(kù),小而快。

API非常簡(jiǎn)單,且都是可重入的。

兼容HTTP1.1。

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

跨平臺(tái)。

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

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

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

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

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

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

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

2. main函數(shù)

main函數(shù)非常簡(jiǎn)單,核心調(diào)用只有2個(gè)函數(shù):<>MHD_start_daemonMHD_stop_daemon,分別開(kāi)始和停止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)建站muchs.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁(yè)名稱:使用Libmicrohttpd搭建內(nèi)嵌(本地)服務(wù)器的方法-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)源:http://muchs.cn/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)頁(yè)設(shè)計(jì)公司網(wǎng)站設(shè)計(jì)公司

廣告

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

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