หนึ่งในคุณสมบัติใหม่ที่ยอดเยี่ยมใน HTML5 คือ WebSockets ซึ่งช่วยให้เราสามารถพูดคุยกับเซิร์ฟเวอร์โดยไม่ต้องร้องขอ AJAX วันนี้ Bin Go จะให้คุณเรียกใช้ WebSocket ผ่านฝั่งเซิร์ฟเวอร์ของสภาพแวดล้อม PHP สร้างไคลเอนต์และส่งและรับข้อมูลฝั่งเซิร์ฟเวอร์ผ่านโปรโตคอล WebSockets
คุณยังสามารถอ้างอิงถึงบทความที่เกี่ยวข้องกับ HTML5 ต่อไปนี้:
" บทช่วยสอนพื้นฐานเกี่ยวกับ HTML 5 Canvas "
" โซลูชั่นที่ทำให้ IE ทั้งหมดรองรับ HTML5 "
" สัมผัสพลังของ HTML5 และ CSS3 ร่วมกัน "
WebSockets คืออะไร?
WebSockets เป็นเทคโนโลยีสำหรับการสื่อสารสองทางบนอินเทอร์เฟซ (TCP) ประเภทเทคโนโลยี PUSH ในเวลาเดียวกัน WebSockets จะยังคงเป็นไปตามมาตรฐาน W3C จนถึงขณะนี้เบราว์เซอร์ Chrome และ Safari เวอร์ชันล่าสุดรองรับ WebSockets แล้ว
WebSockets จะมาแทนที่อะไร? WebSockets สามารถแทนที่ Long Polling (เทคโนโลยีการพุชเซิร์ฟเวอร์ PHP) ซึ่งเป็นแนวคิดที่น่าสนใจ ไคลเอนต์ส่งคำขอไปยังเซิร์ฟเวอร์ ตอนนี้ เซิร์ฟเวอร์จะไม่ตอบสนองต่อข้อมูลที่ไม่พร้อม โดยจะเปิดการเชื่อมต่อไว้จนกว่าข้อมูลล่าสุดจะพร้อมส่ง ขอ. . สิ่งนี้มีข้อดีคือ ลดเวลาแฝงของการเชื่อมต่อใด ๆ และลดความจำเป็นในการสร้างการเชื่อมต่อใหม่เมื่อมีการเปิดอยู่แล้ว แต่ Long-Polling ไม่ใช่เทคโนโลยีที่หรูหรา ยังคงเป็นไปได้ที่คำขอระงับจะเกิดขึ้น ดังนั้นจึงจำเป็นต้องสร้างการเชื่อมต่อใหม่
แอปพลิเคชัน AJAX บางตัวใช้เทคนิคข้างต้น ซึ่งมักมีสาเหตุมาจากการใช้ทรัพยากรต่ำ
ลองจินตนาการดูว่าจะเป็นเรื่องดีอะไรหากเซิร์ฟเวอร์เริ่มทำงานในตอนเช้าและส่งข้อมูลไปยังไคลเอนต์ที่ต้องการรับโดยไม่ต้องตั้งค่าพอร์ตการเชื่อมต่อล่วงหน้า! ยินดีต้อนรับสู่โลกแห่งเทคโนโลยี PUSH!
ขั้นตอนที่ 1: รับเซิร์ฟเวอร์ WebSocket
บทช่วยสอนนี้จะเน้นไปที่การสร้างไคลเอ็นต์มากกว่าการดำเนินการฝั่งเซิร์ฟเวอร์และการดำเนินการอื่นๆ
ฉันใช้ XAMPP บน Windows 7 เพื่อเรียกใช้ PHP ในเครื่อง phpwebsockets เป็นเซิร์ฟเวอร์ PHP WebSocket (จากประสบการณ์ของฉัน เวอร์ชันนี้มีปัญหาเล็กๆ น้อยๆ ฉันได้ทำการแก้ไขบางอย่างและอัปโหลดไฟล์ต้นฉบับเพื่อแชร์กับทุกคน) เวอร์ชันต่างๆ ต่อไปนี้สามารถใช้ WebSocket ได้ หากไม่ได้ผล คุณสามารถลองใช้เวอร์ชันอื่นได้ หรือดำเนินการต่อด้วยบทช่วยสอนด้านล่าง
jWebSocket (จาวา)
เว็บซ็อกเก็ตทับทิม (ทับทิม)
ซ็อกเก็ต IO-โหนด (node.js)
เริ่มต้นเซิร์ฟเวอร์ Apache