10. Web Servers¶
บทเครือข่ายได้นำกล้องเข้าสู่เครือข่ายและให้ socket สำหรับการสื่อสาร (ระบบเครือข่าย) แล้วต่อไปล่ะ? แอปพลิเคชันกล้องส่วนใหญ่สรุปได้เป็นสองสิ่ง -- เปิดเผยสิ่งที่กล้องเห็นสู่โลก และ ตอบสนองต่อสิ่งที่อุปกรณ์อื่นในเครือข่ายพูด HTTP คือวิธีที่การสนทนานั้นเกิดขึ้น และมันทำงานในทั้งสองทิศทาง:
ในฐานะ เซิร์ฟเวอร์ กล้องตอบสนองต่อคำขอจากโทรศัพท์ เบราว์เซอร์ และอุปกรณ์อื่น ๆ ในเครือข่าย เฟรมเวิร์ก
microdotคือเซิร์ฟเวอร์ของกล้องในฐานะ client กล้องติดต่อกับบริการคลาวด์เพื่ออัปโหลด ดึงข้อมูล หรือประสานงาน โมดูล
requestsคือ client ของกล้อง
ใน 14 บทถัดไป เราจะสร้างแอปพลิเคชันกล้องที่รันได้ หนึ่ง แอปที่ใช้ทั้งสองอย่าง
กล้องตรวจจับความเคลื่อนไหวในสวน ติดตั้งบนเสาในสวน มองเห็นสิ่งที่เกิดขึ้น และแจ้งเจ้าของเกี่ยวกับสิ่งที่น่าสนใจ เราจะพัฒนากล้องจากเซิร์ฟเวอร์ "ฉันยังทำงานอยู่" เส้นทางเดียวไปสู่ผลิตภัณฑ์ที่พร้อมใช้งาน: การแสดงตัวอย่างสดบนโทรศัพท์ของเจ้าของ แดชบอร์ดพร้อมตัวเลื่อนค่าขีดแบ่งและบันทึกเหตุการณ์ การแจ้งเตือนแบบ push เมื่อตรวจพบความเคลื่อนไหว การเข้าสู่ระบบ HTTPS และคลังเก็บคลาวด์ของทุกเฟรมที่ถูกกระตุ้น
แต่ละบทเพิ่ม หนึ่ง ลักษณะเด่น ตัวอย่างโค้ดสมมติว่าบทก่อนหน้ามีอยู่แล้ว -- เราไม่วางสคริปต์ทั้งหมดซ้ำทุกครั้ง
- 10.1. endpoint แรกของคุณ
- 10.2. การส่งคืนสแนปช็อต
- 10.3. การสตรีมสด -- ผู้ชมคนเดียว
- 10.4. การแบ่งปัน capture loop หนึ่งข้ามผู้ชมหลายคน
- 10.5. Control API สำหรับกล้อง
- 10.6. การสร้างแดชบอร์ด
- 10.7. การส่ง event ไปยังแดชบอร์ด
- 10.8. การควบคุมสองทิศทางด้วย WebSockets
- 10.9. การพิสูจน์ตัวตนสำหรับไคลเอนต์แบบโปรแกรม
- 10.10. การเข้าสู่ระบบสำหรับแดชบอร์ด
- 10.11. HTTPS -- การเข้ารหัสการส่งข้อมูลสำหรับเซิร์ฟเวอร์
- 10.12. CORS และ CSRF
- 10.13. การอัปโหลดเฟรมที่ถูกทริกเกอร์ไปยังคลาวด์
- 10.14. สรุป