2014-12-21 16 views
6

Trong khi tôi quen thuộc với cả máy chủ HTTP và vòng lặp sự kiện, tôi gặp một số vấn đề khi nắm bắt các hoạt động bên trong của asyncio của Python.tạo một máy chủ HTTP tối thiểu với asyncio

Là bài tập học tập, tôi đã cố gắng viết một máy chủ HTTP tối thiểu (chỉ cần lặp lại phương thức yêu cầu, URI, tiêu đề và nội dung) mà không cần phụ thuộc bổ sung. Tôi đã xem xét aiohttpaiowsgi để tham khảo, nhưng gặp khó khăn khi hiểu những gì đang xảy ra ở đó - một phần vì sự phức tạp nhận thức của các giao thức, truyền tải, vv là một chút áp đảo. Vì vậy, tôi hiện đang bị mắc kẹt bởi vì tôi không hoàn toàn biết bắt đầu từ đâu.

Thật ngây thơ khi chờ đợi đây chỉ là một vài dòng mã để thiết lập kết nối, tiêu thụ luồng văn bản đến và gửi lại luồng văn bản khác?

Trả lời

4

Bạn có thể xem picoweb làm ví dụ về máy chủ HTTP rất đơn giản (và rất hạn chế).

Nhưng, chắc chắn, khi bạn sẽ cố gắng triển khai máy chủ web đầy đủ tính năng, bạn sẽ nhận được một cái gì đó giống như aiohttp - HTTP phức tạp (thậm chí có thể phức tạp).

+0

Cảm ơn - đó là khá gần với những gì tôi đang tìm kiếm. 'start_server' nói riêng là phần thiếu cho tôi. – AnC

+0

Chắc chắn. Các ví dụ tầm thường rất tốt cho việc học. Nhưng với tư cách là đồng tác giả của * aiohttp * Tôi đoán sử dụng [aiohttp.web] (http://aiohttp.readthedocs.org/en/v0.12.0/web.html) cho mã sản xuất. –

Các vấn đề liên quan