HttpListener cung cấp cho bạn luồng phản hồi, nhưng việc gọi tính năng tuôn ra có nghĩa là không có gì (và từ các nguồn rõ ràng, bởi vì nó thực sự không làm gì cả). Việc đào sâu bên trong HTTP API cho thấy rằng đây là một hạn chế của chính HttpListener.Làm cách nào để xóa luồng phản hồi của HttpListener?
Bất kỳ ai biết chính xác cách xả luồng phản hồi của HttpListener (có thể có phản chiếu hoặc P/Invokes bổ sung)?
Cập nhật: Bạn không thể http truyền bất cứ điều gì nếu bạn không có tùy chọn tuôn ra hoặc khả năng xác định kích thước bộ đệm.
Câu hỏi không phải là TẠI SAO nó không hoạt động ... Nhưng hãy tưởng tượng http phát trực tuyến, điều quan trọng là gửi nội dung sớm nhất có thể. Dữ liệu chunked không phải là một tùy chọn ở đây cả. HttpListener thực sự gửi một cái gì đó TRƯỚC KHI bạn đã hoàn thành yêu cầu, nhưng nó sử dụng bộ đệm không thể cấu hình khá lớn. – Mash
Và btw, ASP.NET flushes ok khi bạn đang yêu cầu nó ... ASP.NET yêu cầu một số hacks để có được nội dung InputStream trước khi POST toàn bộ cơ thể đã được lấy ra, nhưng OutputStream hoạt động ok. – Mash
HTTP không thực sự là giao thức truyền trực tuyến. Nó có nghĩa là để truyền tải văn bản qua internet, do đó giao thức truyền siêu văn bản tên. Nếu bạn muốn streaming tôi sẽ đề nghị một ổ cắm. Hoặc điều gì đó tốt hơn một chút khi phát trực tuyến nội dung trong các gói nhỏ đủ để bạn kiểm soát. –