0

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);     
              
            }
          }

by の最後の文字を char out_buf[BUF_SIZE]withで終了する必要があり'\0'ます。また、同じコードでpngファイルを送信しようとすると、画像全体を受信することもあれば、半分だけを受信することもあります。ページを更新すると完全に読み込まれます。

4

2 に答える 2