作者famous727 (蜥蝪)
看板C_and_CPP
標題[問題] 簡易Web Server不用第三方library
時間Sat Apr 11 11:04:19 2020
各位高手好,小弟第一次這邊發文
最近想要在raspberry pi上用C/C++寫一個能讀取USB Webcam同步影像並嵌入在既有網頁裡的Web server,使用者透過瀏覽器能觀看即時畫面且透過網頁上的按鈕來對raspberry pi 下達命令。
目前我先寫了簡單的Web server可以完整呈現一般的網頁,Server跑在好的電腦沒問題,但是跑在raspberry pi就會在要傳大圖片時卡住(小圖片OK),希望高手們能給個方向或提示,也希望能不吝嗇給我的程式建議,讓我的server功能更強大更完整。如果就我的目標而言方向整個錯誤的話,也煩請更正。感謝各位!
我把project和程式講解放在:
https://github.com/Dungyichao/http_server
--
Sent from my Windows
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 216.218.79.45 (美國)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1586574262.A.227.html
1F:→ famous727: 也歡迎有興趣的夥伴一起來參與 04/11 11:11
2F:→ xam: 你的大目標是實作server還是監控功能? 04/11 14:35
3F:→ famous727: xam大好,目標是希望能監控,同時擁有漂亮的Web介面。 04/11 20:47
4F:→ famous727: 會想自己實作server是想學習,目標希望能把其他Embedde 04/11 20:47
5F:→ famous727: d system都加入web server功能,讓使用者可以隨時監控 04/11 20:47
6F:→ famous727: 設備 04/11 20:47
7F:→ annies5: Timeout, Filesize 設定值? 04/12 08:45
8F:→ bdvstg: 不用library!? 好厲害! 有考慮自幹影像壓縮嗎? 04/12 23:30
9F:→ famous727: 如果使用Timeout的話大圖片不是就傳不過去了? 我是使 04/13 01:24
10F:→ famous727: 用open這個function來開啟檔案,開啟後每次只傳檔案中 04/13 01:25
11F:→ famous727: 的部分資料(用while loop),直到傳完。如果開啟是沒問 04/13 01:25
12F:→ famous727: 題的,那是什麼原因造成卡在傳輸的while loop呢? 04/13 01:25
13F:→ famous727: 影像壓縮這點可以考慮來學習一下 04/13 01:26
14F:→ famous727: 前面有傳幾張比較大size的都過得了,固定會當在某一張~ 04/13 06:58
15F:→ famous727: 卡在傳送時的while loop 04/13 06:58
16F:→ bdvstg: sendfile實際送出去的不一定或是完整的block_size 04/14 14:59
17F:→ bdvstg: 實際送出去多少bytes要看回傳值 04/14 15:00
18F:→ famous727: 感謝bd大提醒,我更改程式後發現特定圖片會出現錯誤: B 04/14 23:29
19F:→ famous727: ad file descriptor 04/14 23:29
20F:→ bdvstg: 檢查fdimg值是否正確 04/15 09:32
21F:→ bdvstg: 確認被開的檔案的存取權限 04/15 09:33
22F:→ famous727: fdimg是-1,看來要往存取權限那邊找,但發生一次-1之 04/16 07:54
23F:→ famous727: 後,往後的圖片竟然都直間忽略不傳GET了 04/16 07:54
24F:→ famous727: 檢查過權限了,都是可以read的 04/21 09:24
25F:→ sunneo: copy, copy_head怎都沒free過 04/23 23:14