我想在C中實現一個Web服務器。我正在循環中使用send命令發送請求的響應。使用發送函數在循環中發送響應
buf_len = 1;
while (buf_len > 0)
{
buf_len = read(fh, out_buf, BUF_SIZE);
if (buf_len > 0)
{
send(client_s, out_buf, buf_len, 0);
}
}
我應該用'\0'
終止由char out_buf[BUF_SIZE]
的最後一個字符。 另外,當我試圖用相同的代碼發送一個PNG文件,有時我收到整個圖像,有時只有一半。當我刷新頁面時它會完全加載。
不需要以零結束。 –
@CharlieBurns你能否回答第二部分。爲什麼我有時會得到部分圖像,只有刷新頁面一次或兩次纔會顯示完整圖像。 – rdp