ฉันต้องการสร้างเซิร์ฟเวอร์ HTTP อย่างง่ายใน C มีคำแนะนำหรือไม่ ลิงค์? ตัวอย่าง?
ฉันต้องการสร้างเซิร์ฟเวอร์ HTTP อย่างง่ายใน C มีคำแนะนำหรือไม่ ลิงค์? ตัวอย่าง?
คำตอบ:
ผมขอแนะนำให้คุณลองดูที่httpd เล็ก ๆ หากคุณต้องการที่จะเขียนมันจากรอยขีดข่วนแล้วคุณจะต้องการที่จะได้อย่างทั่วถึงอ่านRFC 2616 ใช้ซ็อกเก็ต BSDเพื่อเข้าถึงเครือข่ายในระดับที่ต่ำมาก
tiny httpd
อยู่ใน github ที่นี่: github.com/larryhe/tinyhttpd
เราขอแนะนำให้คุณดูที่: คู่มือที่เป็นประโยชน์สำหรับการเขียนไคลเอนต์และเซิร์ฟเวอร์
สิ่งที่คุณต้องดำเนินการตามขั้นตอนเพิ่มเติมคือ:
เซิร์ฟเวอร์ HTTP เป็นแนวคิดที่เรียบง่าย:
จะยากขึ้นขึ้นอยู่กับจำนวน HTTP ที่คุณต้องการสนับสนุน - POST ซับซ้อนกว่าเล็กน้อยสคริปต์การจัดการคำขอหลายรายการ ฯลฯ
แต่ฐานนั้นเรียบง่ายมาก
พังพอน (เดิมชื่อ Simple HTTP Daemon) ค่อนข้างดี โดยเฉพาะอย่างยิ่งสามารถฝังและคอมไพล์ภายใต้ Windows, Windows CE และ UNIX
ดู nweb (เว็บเซิร์ฟเวอร์ของ Nigel) "เว็บเซิร์ฟเวอร์ขนาดเล็กที่ปลอดภัย [... ] ด้วยซอร์สโค้ด C เพียง 200 บรรทัด":
https://drive.google.com/file/d/0B3msld7qnNOhN1NXaFIwSFU2Mjg/view?usp=sharing
http://www.ibm.com/developerworks/systems/library/es-nweb/
บทความนี้มีรหัสเทียมคำอธิบายและความคิดเห็น
แก้ไข: ลิงก์ของ IBM เสียชีวิตแล้ว ฉันได้บันทึก PDF ของหน้าเว็บไปยัง Google Drive นี่คือการดาวน์โหลดรหัส:
https://drive.google.com/file/d/0B3msld7qnNOhSGZGdDJJMmY0VHM/view?usp=sharing
@ ankushagarwalได้ทำการเปลี่ยนแปลงเล็กน้อยและอัปโหลดเวอร์ชันของเขาบน GitHub: https://github.com/ankushagarwal/nweb
ฉันเขียนของฉันเองว่าคุณสามารถใช้ได้ งานนี้มี sqlite เป็นเธรดที่ปลอดภัยและอยู่ใน C ++ สำหรับ UNIX
คุณควรจะแยกมันออกจากกันได้และใช้รหัสที่เข้ากันได้กับ C
ข้อมูลจำเพาะ HTTPและFirebugเป็นประโยชน์มากสำหรับฉันเมื่อฉันมีที่จะทำเพื่อฉันทำการบ้าน
ขอให้โชคดี :)
http://www.manning.com/hethmon/ - "Illustrated Guide to HTTP by Paul S. Hethmon" จาก Manning เป็นหนังสือที่ดีมากในการเรียนรู้โปรโตคอล HTTP และจะมีประโยชน์มากสำหรับผู้ที่นำไปใช้ / ขยาย
การใช้งานฟังก์ชั่นซ็อกเก็ตแพลตฟอร์มที่เฉพาะเจาะจงเพื่อแค็ปซูลโปรโตคอล HTTP เช่นเดียวกับคนที่อยู่เบื้องหลังApacheได้