Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
   
 

Registered : 102,792

HOME > PHP > PHP WebSockets > WebSocket ตอนที่ 1 : WebSocket คืออะไร การรับส่งข้อมูลแบบ Real Time ด้วย PHP



WebSocket ตอนที่ 1 : WebSocket คืออะไร การรับส่งข้อมูลแบบ Real Time ด้วย PHP

WebSocket ตอนที่ 1 : WebSocket คืออะไร การรับส่งข้อมูลแบบ Real Time ด้วย PHP ในหัวข้อนี้เราจะมาเรียนรู้กับ WebSocket ว่ามันคืออะไร ทำหน้าที่ และ มีประโยชน์อย่างไร?? สำหรับ WebSockets ไม่ใช่ของใหม่ แต่มันมีมาหลายปี แต่ไม่อาจจะไม่ค่อยได้รับความนิยมเท่าไหร่ ส่วนหนึ่งเพราะ Web ที่เราพัฒนาทั่วๆ ไป ไม่จำเป็นจะต้องใช้ WebSocket และการใช้งานจริงบน Web Hosting อาจจะใช้งานจริงไม่ได้ ฉะนั้นจะมีเฉพาะบางเว็บเท่านั้นที่จำเป็นจะต้องใช้งาน เช่น เว็บประเภท Chat , Vote , Bid เป็นต้น เพราะเว็บหล่านี้ต้องการข้อมูลที่รวดเร็ว Real time ในทันที และการรับ-ส่งข้อมูลจาก Client ไปยัง Server และจาก Server ไปยัง Client ต่างๆ นั้นมีประสิทธิภาพสูงสุด



รูปแบบการทำงานของ PHP WebSocket


หน้าที่ของ WebSokets คือ จะรัน Service ที่ทำหน้าที่เป็น Protocol ที่ฝั่ง Server เมื่อมี Client ทำการเชื่อมต่อเข้ามา เจ้า Services ตัวนี้ก็จะติดตาม Client ไปอย่างใกล้ชิดเพื่อตรวจสอบว่า Client ยังทำการเชื่อมต่อและพร้อมที่จะ รับ-ส่ง ข้อมูลให้ตลอดเวลา โดยที่ไม่จำเป็นว่าฝั่ง Client จะมีการ Request มาหรือไม่ ฉะนั้นเมื่อฝั่ง Server มีข้อมูลมาใหม่ๆ ตัว Services นี้ก็จะทำหน้าที่ Push ข้อมูลเพื่อส่งให้กับทุกๆ Client ที่เชื่อมต่ออยู่ในขณะนั้น ซึ่งมันเองสามารถที่จะตรวจสอบได้ว่า มี Client อะไรบ้างที่กำลังทำการเชื่อมต่ออยู่

ซึ่งแตกต่างกับการ Request จาก Client โดยทั่วๆ ไป ที่เราจะต้องใช้ Client ทำการ Request ส่ง Post หรือ Get ไปยัง Server และ Server ก็จะทำการ Response ค่ากลับมา และ Server ก็จะไม่มีทางรู้ว่า Client ได้ทำการปิดการเชื่อมต่อไปแล้วหรือยัง ซึ่งจะรู้ได้แค่อย่างเดียวว่า Session ได้ Timeout ไปแล้ว



รูปแบบการเชื่อมต่อแบบปกติทั่วๆ ไป ที่มี Request และ Response กลับมา


จากรูปแรกจะเห็นว่าสีที่แตกต่างกัน หมายถึง Client ทำการเชื่อมต่อแต่ล่ะครั้งก็จะได้ Response กลับมา 1 ครั้งเท่านั้น




รูปแบบการทำงานของ WebSockets


การทำงานของ WebSockets จะแตกต่างกันที่ เมื่อมี Client ใดๆ ทำการเชื่อมต่อไปยัง Server ในฝั่งของ Server จะมี Services ที่ทำงานอยู่ตลอดเวลา ซึ่งจะส่ง Push หรือ Response กลับไปยังทุก ๆ Client ที่เชื่อมต่ออยู่ในขณะนั้น ซึ่ง Client ก็จะได้รับค่าพร้อมกันหมด




รูปแบบการทำงานของ WebSockets


จากภาพนี้จะเห็นว่าทุก ๆ Client จะทำการเชื่อมต่อกับ Server ด้วย Process เล็กๆ ที่ทำหน้าที่ตรวจสอบสถานะการเชื่อมต่อ แต่เมื่อมีข้อมูลใหม่ๆ ที่ฝั่ง Server ก็จะทำการ Push ค่าเพื่อส่งไปยังทุก ๆ Client อย่างรวดเร็ว








ในการเขียน PHP WebSockets นั้นจะแตกต่างกันการเขียนเว็บทั่วๆ ไปคือ ในฝั่งของ Server จะต้องทำการ Run Service ที่ทำหน้าที่เป็น Protocol TCP connection ที่ระบุ Port ในการเชื่อมต่อกับ Client ฉะนั้นในข้อกำหนดนี้จะต้องมีการรัน Services ทิ้งไว้ ซึ่งจะเป็นข้อกำกัดในการใช้งานเมื่อนำไปใช้กับ Shared Hosting ทั่วๆ ไป

และการใช้งานจะต้องดาวน์โหลดหรือติดตั้ง PHP Library ซึ่งในปปัจจุบันมีรองรับให้ตัวอาทิเช่น



ข้อดีของการใช้ Library คือ มี Class และ function ต่างๆ ที่ได้ออกแบบและเขียนมาเป็นอย่างดี เราสามารถเรียกใช้งานได้ง่ายๆ โดยไม่ต้องมานั่งจัดการกับ Server Script และ Client Script และแน่นอนว่า Library ต่างๆ เหล่านี้มีการเปิดให้ดาวน์โหลดนำไปใช้งาน ซึ่งผ่านการพัฒนาหลายเวอร์ชั่น

   
Share


ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท


ลองใช้ค้นหาข้อมูล


   


Bookmark.   
       
  By : ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ)
  Score Rating :  
  Create/Update Date : 2017-01-26 13:23:43 / 2017-03-25 02:01:34
  Download : No files
 Sponsored Links / Related

 
WebSocket ตอนที่ 2 : การติดตั้ง PHP Library จาก Composer เพื่อเขียน WebSockets
Rating :
 
WebSocket ตอนที่ 3 : การสร้าง Server ทำหน้าที่ รับ-ส่ง ข้อมูล Real Time ด้วย PHP
Rating :
 
WebSocket ตอนที่ 4 : Client เชื่อมต่อ Servcies ของ WebSocket การรับ-ส่งข้อมูล Real Time ด้วย PHP
Rating :
 
WebSocket ตอนที่ 5 : ตัวอย่างการ รับ-ส่ง ข้อมูลแบบ เจาะจง Client หรือ User ด้วย PHP
Rating :
 
WebSocket ตอนที่ 6 : การ รับ-ส่ง ข้อมูล Real Time และการจัดเก็บลงใน Database ด้วย PHP
Rating :

ThaiCreate.Com Forum

Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน Struts การเขียนโปรแกรม Java Struts Framework
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน Yii  Framework การเขียนโปรแกรม ภาษา PHP กับ Yii
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว

สุดยอด Source Code V2.0
 

แจ้งชำระเงิน/โอนเงิน
 

Hit Link
   


Acc : thaicreate@hotmail.com






Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2017 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
for Contact Us : [Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 089-968-0655 อัตราราคา คลิกที่นี่