對於如何將文件從http服務器發送到客戶端(網絡瀏覽器),我有點困惑。如何通過C中的網絡發送段中的二進制文件?
首先我發送標題,我的下一個任務是發送文件內容。不過,我想一次性發送512字節的數據段而不是整個文件,因爲我遇到了一些問題。
我有點失落如何實現這一點。這是我想要的
read file1;
while (seg=get_next_segment(file1)){
do
send(seg)
until (seg_is_sent)
}
但是,我似乎無法找到適當的功能來實現這一目標。 fread
和fseek
穿過我的腦海,但第一個一次讀取整個文件和fseek我沒有看到一種方法來從文件中抓取一部分(而不是從文件指針直到文件尾部讀取) 。
如果'fread'讀取整個文件一次,它爲什麼參數告訴它多少看?而'fseek'完全不能用於閱讀。 –
我可以問你爲什麼要分段發送?另外,'sendfile'效率更高。 –
@yi_H原因是我之前把它作爲一個整體發送過來,它並沒有作爲一個整體到達。我在瀏覽器中收到一條消息,如「無法讀取文件」 – Pithikos