利用BB-Black的遠程醫療監測智能硬件設計
上述代碼首先創建一個無阻塞的流式套接字描述符socktfd,提供面向連接的可靠傳輸。然后利用bind()函數將指定端口與套接字描述符關聯,最后利用listen()函數在指定端口監聽,等待Request請求。
當監聽到連接請求,服務器調用get_request()函數獲取請求信息,利用accept()函數建立連接,接收請求、分析信息,進行HTTP認證確認,處理請求信息,并將結果發送、顯示到Web瀏覽器;當有CGI請求時,創建CGI處理進程,并將處理結果發送、顯示到Web瀏覽器。
2.1.3 Boa在ARM上的移植
首先,針對BB-Black和實際應用場景對Boa服務器源代碼作以下修改:(1)根據監護人數量指定HTTP請求列表限制參數;將服務器的輸入輸出緩存空間設為最大值,以加快生理數據傳輸速度;(2)通過編寫實現一些簡單函數,來精簡Linux操作系統庫函數,節約資源。
其次,利用arm-linux-gcc交叉編譯環境,配置生成大小為175.8KB的boa可執行程序。通過bin.arm-linux-strip boa指令剝去附帶的編譯信息,得到僅59.4KB的ARM平臺可執行文件。
最后,通過修改Web服務器的配置文件boa.conf:監聽端口為80,注釋掉綁定IP地址設置欄,KeepAliveMax值為50,KeepAliveTimeout值為10,服務器名字為www. RemoteMedicalMonitoringSystem.com;以及CGI路徑,訪問日志和錯誤日志的存放路徑等運行參數;將該配置文件和可執行文件boa放到BB-Block平臺的/home/www目錄下;執行genromfs-f romfs.img-d romdisk命令生成一個含有Boa服務器的根文件系統,通過bootloader燒寫到存儲器。完成Boa到ARM平臺的移植。
評論