ฉันมีโปรแกรมเล็ก ๆ น้อย ๆ ที่ส่งคำขอ http และรับการตอบกลับด้วยโปรโตคอล TCP
รูปแบบคำขอของฉัน
GET / HTTP/1.0
Host: somewebsite.com
{two new line}
ฉันอ่านคำตอบทีละบรรทัดจากซ็อกเก็ต (โดยใช้ NetworkStream และ StreamReader ใน c#) จนกระทั่งพบส่วนหัวความยาวเนื้อหา ฉันเก็บความยาวไว้แล้วอ่านต่อจนเจอบรรทัดว่าง จากนั้นสร้างบัฟเฟอร์ที่มีความยาวและรับการตอบสนองที่เหลือ
แต่การตอบกลับบางรายการไม่มีส่วนหัวที่มีความยาวเนื้อหา ดังนั้นแนวทางของฉันจึงล้มเหลว หากไม่รู้ว่าควรได้รับกี่ไบต์ ควรหยุดเมื่อใด?