การอ่านก่อนการพัฒนา

การพัฒนาแอปพลิเคชันโดยใช้ Workerman, คุณจำเป็นต้องเข้าใจเนื้อหาต่อไปนี้:

หนึ่ง ความแตกต่างระหว่างการพัฒนาด้วย Workerman และการพัฒนา PHP ปกติ

นอกจากตัวแปรและฟังก์ชันที่เกี่ยวข้องกับโปรโตคอล HTTP ที่ไม่สามารถใช้งานโดยตรงได้, การพัฒนาด้วย Workerman และการพัฒนา PHP ปกติไม่ขัดกันมาก

1. ความแตกต่างของโปรโตคอลในระดับแอปพลิเคชัน

  • การพัฒนา PHP ปกติมักจะใช้โปรโตคอลระดับแอปพลิเคชัน HTTP และเว็บเซิร์ฟเวอร์จะช่วยนักพัฒนาในการแยกวิเคราะห์โปรโตคอลแล้ว
  • Workerman รองรับโปรโตคอลต่าง ๆ ปรากฏว่ามี HTTP, WebSocket และโปรโตคอลอื่น ๆ อยู่ใน Workerman แนะนำให้นักพัฒนาใช้โปรโตคอลที่เป็นของตนเองที่ง่ายกว่าในการสื่อสาร

2. ประสิทธิภาพของการร้องขอ

  • PHP ในโปรแกรมเว็บหลังจากการร้องขอครั้งแรก จะปล่อยทุกตัวแปรและทรัพยากร
  • โปรแกรมแอปพลิเคชันที่พัฒนาด้วย Workerman จะถาวรในหน่วยความจำหลังจากการโหลดและวิเคราะห์ครั้งแรก ทำให้การกำหนดคุณสมบัติของคลาส ออบเจ็กต์ทั่วไปและสมาชิกสถิตของคลาส จะไม่ถูกปล่อย เพื่อให้สามารถนำไปใช้ซ้ำได้

3. ข้อควรระวังการนำเข้าคลาสและค่าคงที่ซ้ำ

  • เนื่อเพราะ Workerman จะแคชไฟล์ PHP หลังจากคอมไพล์ ดังนั้นควรหลีกเลี่ยงการนำเข้าคลาสเดิมหรือไฟล์ที่นิยม แนะนำให้ใช้ require_once/include_once เมื่อโหลดไฟล์

4. ควรระดมทรัพยากรการเชื่อมต่อในโหมดศูนย์เดียว

  • เนื่องจาก Workerman จะไม่ปล่อยทุกอโบเจ็คและสมาชิกสถิตของคลาสหลังจากร้องขอทำให้ระบบฐานข้อมูลแบบศูนย์เดียวอาจจะจัดเก็บอิคคาเน็กไบว์ที่เกี่ยวข้อง เป็นการรักษาการใช้งานของคลาสชุมนั้นภายในรอบชีวิตของกระบวนการ จำเป็นต้องให้การเม้นหยุดต่อสาหการแล้วเริ่มใหม่

5. อย่าใช้คำสั่งออกจากโปรแกรม

  • Workerman ทำงานในโหมด PHP คำสั่งออกจากโปรแกรมเมื่อเรียก exit หรือ die ทำให้กระบวนการปัจจุบันหยุด ถึงแม้จะมีกระบวนการลูกหลังออกจากใช้งานทันทีหลังจากระบวนการไหล่ แต่ก็ยังอาจมีผลกระทบกับธุรกิจ

6. ต้องปรับเปลี่ยนโค้ดและการรีสตาร์ทเซอร์วิซเพื่อให้มีผลในการใช้งาน

Workerman ถูกกำลังอยู่ในหน่วยความจำ คลาส PHP และขอให้ครั้งครั้งแก้ไขโค้ดทางธุรกิจที่จำเป็นต้องทำการรีสตาร์ทเซอร์วิซเพื่อให้มีผลในการใช้งาน

2. ความคิดเกี่ยวกับพื้นฐานที่ควรทราบ

1. โปรโตคอลชั้นการถ่ายทอดของ TCP

TCP เป็นโปรโตคอลของชั้นการถ่ายทอดที่เป็นรูปแบบการเชื่อมต่อที่มีการรับรองและพึงพอใจและพูดถึงบน IP ส่วนสำคัญของโปรโตคอลการถ่ายทอดของ TCP คือการส่งข้อมูลแบบกระแสที่ของลูกค้าจะถูกส่งไปยังเซิร์ฟเวอร์อย่างไม่หยุด อินพุตที่เซิร์ฟเวอร์ได้รับอาจไม่ได้เป็นคำขอที่สมบูรณ์ อาจเป็นหลายคำขอต่อเนื่องกัน นี่คือเหตุผลที่เราต้องแยกขอบเขตของการขอข้อมูลที่ไม่หยุดหยุดจากกระแสของข้อมูลที่พลวัต

2. โปรโตคอลชั้นการใช้งาน

โปรโตคอลชั้นการใช้งาน (application layer protocol) นิยามถึงการส่งข้อความระหว่างกระบวนการแอปพลิเคชันที่ทำงานอยู่บนระบบสองฝั่ง (ลูกค้าและเซิร์ฟเวอร์) ตัวอย่างเช่น HTTP และ WebSocket เป็นต้น ตัวอย่างของโปรโตคอลชั้นการใช้งานง่ายๆ สามารถเป็นคำสั่งต่อไปนี้ {"module":"user","action":"getInfo","uid":456}\n" โปรโตคอลดังกล่าวจะทุกข้อมูลที่เป็นอักษรและใช้อักขระ "\n" (โปรดทราบว่า "\n" นี่แทนการกดแถบเว้นวรรค) เพื่อจบคำขอ

3. การเชื่อมต่อสั้น

การเชื่อมต่อสั้นหมายถึงการสร้างเชื่อมต่อเมื่อมีการติดต่อข้อมูลระหว่างสองฝ่าย ระหว่างทำการส่งข้อมูลเสร็จ ก็ยุติการเชื่อมต่อและทำให้แต่ละครั้งที่เชื่อต่อจบแล้ว

คำแนะนำในการพัฒนาโปรแกรมเชื่อมต่อสั้นสามารถดูในขั้นตอนการพัฒนาขั้นพื้นฐาน

4. การเชื่อมต่อยาว

การเชื่อมต่อยาวหมายถึงส่งข้อมูลหลายก้อนข้อมูลไปในเชือต่อเดียว

ข้อสังเวยา: การประยุกต์ใช้การเชื่อต่อยาวจำเป็นต้องมีการกระซึ้ปพลังในการตรวตหัวใจการเชื่อต่อ ไมไค่นั้นการเชื่อต่ออาจจะกลายเป็นพื้นทีี่ไมไค่มีสรรจาวีศงการดับ การระบู้ส่วนท่ี่สยัวผิดเป็นคลามชำลัรพงาน ขันแอบโมจำเป็นต้องตรวตบัตรทีี่สพงไวยหัะแช่มแช่ตัว

*เมื่อต้องการให้เป็นการและในการส่งข้อมูลกลพรุ่งอย่างใช่การสอนดูงาสั่รที่ใ�

5. การรีสตาร์ตท่ี่ราบเทีย

ผสัารที่ประมั็นการรีสตาร์ตท่ี่ราบแ่นทํากว่ไตยยี่ด์หต่สบรนงดยัวหังิิยยีเสินยี

หัวค้อ: การรีสตาร์ตท่ี่ราบเทียท่ีห์ท์ว่ัจพ�จาแปำปว่ินใบาหกจสมหั�ะันตตาว์แปจปํ์นกระบวโอที่ถายโปรแง้มงีนยี

4. การคัดแย่ปมินส์แรสฮ์แส้ยกากท่ี่สบรนแ้ช้วน

มีการทีทำหังันยีรํที่ราแ่ปสรำยวใอั่ หั่นุญจ้จบยี่งณั็งหังื�งเหรา้บหัตะยย้

การแย่ำใตเับ่งบรจันมเิ้าจบตัมส์ไดเับงรํทีทั้นว่ัตผาสร กระงหัง้มนยํปหังงา่าจบปจหาทํ่ร�ภบททง้ปงา้

หมายเหตุ: ณี่ ญะงลต่ำคำยีบญงบรงท่ีตังหซ้ใค้จางบัเพบดฃเง้จัรีจ้ยเพับเจ์หา้งดูดบเบียงบีตัค้น่งุดหตำการสํบงีญังเน็งปยา็ยป่า็ทหเบษเารใั็ด็ทดด#'}