Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

WebSockets คืออะไรและจะสร้างได้อย่างไร

WebSockets คืออะไรและจะสร้างได้อย่างไร

โปรโตคอลต่าง ๆ ใช้ในการถ่ายโอนข้อมูลจากไคลเอนต์ไปยังเซิร์ฟเวอร์และในทางกลับกัน กฎของพวกเขาได้อธิบายไว้ในมาตรฐานที่เกี่ยวข้อง ในบทความนี้ เราจะพูดถึงหนึ่งโปรโตคอลการถ่ายโอนข้อมูล — WebSockets

โปรโตคอล WebSocket คืออะไร?

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

WebSockets ทำงานอย่างไร

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

เมื่อใดควรใช้ WebSocket

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

  • แพลตฟอร์มแลกเปลี่ยน
  • แอปพลิเคชั่นเกม
  • แชทบอท;
  • การแจ้งเตือนแบบพุช;
  • สังคมออนไลน์;
  • แอปพลิเคชั่นแชท
  • แอพพลิเคชั่น IoT

เหตุใดจึงควรพิจารณาใช้โปรโตคอล WebSocket

WebSocket จัดเตรียมการอัปเดตตามเวลาจริงโดยให้การเชื่อมต่อระหว่างเซิร์ฟเวอร์และไคลเอ็นต์ เว็บซ็อกเก็ตเข้ากันได้กับ HTML5 และให้ความเข้ากันได้ย้อนหลังกับเวอร์ชัน HTML ที่เก่ากว่า ดังนั้นจึงได้รับการสนับสนุนโดยเว็บเบราว์เซอร์ที่ทันสมัยทั้งหมด — Google Chrome, Mozilla Firefox, Safari และอื่นๆ นอกจากนี้ยังเข้ากันได้กับแพลตฟอร์มต่างๆ: Android, iOS, เว็บแอปและแอปเดสก์ท็อป เซิร์ฟเวอร์เดียวสามารถเปิดการเชื่อมต่อ WebSocket ได้หลายรายการพร้อมกัน และแม้กระทั่งการเชื่อมต่อหลายรายการกับไคลเอนต์เดียวกัน ซึ่งช่วยให้ปรับขนาดได้ง่าย

จะสร้าง WebSocket ใน AppMaster.io ได้อย่างไร

มาสร้าง WebSocket ใน AppMaster.io โดยใช้ตัวอย่างแชทบอทง่ายๆ ในการสร้าง WebSocket คุณต้องสร้างกระบวนการทางธุรกิจในแบ็คเอนด์ของแอปพลิเคชันที่จะตอบกลับข้อความของผู้ใช้และส่งการตอบกลับ: แบ็กเอนด์ > กระบวนการทางธุรกิจ

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

หากข้อความ = "สวัสดี!" คำตอบจะเป็น "สวัสดี!";
หากข้อความ = "คุณเป็นอย่างไรบ้าง" BP จะส่งคืนสตริง "เยี่ยมมาก แล้วคุณล่ะ";
ในกรณีอื่น BP จะทำงานเป็นเสียงสะท้อนและส่งคืนสตริงเดิมที่ได้รับที่อินพุตเพื่อตอบกลับ

จากนั้น คุณต้องสร้าง WebSocket Endpoint สำหรับ BP นี้เพื่อสื่อสารกับบอท: Backend > Endpoints > New Endpoint > WebSocket Endpoint

ในหน้าต่างที่เพิ่งเปิดใหม่ กรอกข้อมูลในฟิลด์ต่อไปนี้:

  • ประเภทปลายทาง: GET
  • URL ปลายทาง: ที่อยู่ที่จะเข้าถึงปลายทางจากภายนอก
  • กระบวนการทางธุรกิจ: ระบุ BP ที่จะทำงานกับ WS Endpoint นี้

หลังจากตั้งค่าปลายทางแล้ว คุณต้องเผยแพร่แอปพลิเคชันเพื่อใช้งาน

คุณสามารถทดสอบ WebSocket แอปบุรุษไปรษณีย์ ดูคำแนะนำโดยละเอียดเกี่ยวกับวิธีใช้บุรุษไปรษณีย์ได้ ที่นี่ หลังจากการอนุญาตในบุรุษไปรษณีย์ คุณต้องสร้างคำขอ WebSocket ใหม่: ใหม่ > คำขอ WebSocket

ป้อนที่อยู่ WebSocket แบบเต็ม คุณสามารถรับได้ใน Swagger ( Preview > Development ) โดยส่งคำขอเปล่าไปยัง Endpoint ที่สร้างขึ้น ที่อยู่แบบเต็มสามารถพบได้ในบล็อก คำขอ URL

หลังจากคัดลอกและวางลงในฟิลด์ที่เหมาะสมในบุรุษไปรษณีย์แล้ว คุณต้องแทนที่ https ด้วย wss เนื่องจากโปรโตคอลนี้ใช้เพื่อสื่อสารกับเซิร์ฟเวอร์ การเชื่อมต่อ WebSocket ต้องได้รับอนุญาต ในการดำเนินการนี้ คุณต้องส่งคำขอด้วยคุกกี้ส่วนหัว (Header) ซึ่งมีโทเค็นการเข้าถึง gen_app_auth_token= ในการรับโทเค็น คุณต้องอนุญาตโดยเรียกใช้ปลายทางการให้สิทธิ์และส่งชื่อผู้ใช้และรหัสผ่านของคุณ

คุณสามารถค้นหาคุกกี้ด้วยตนเองได้ดังนี้:

  • ในเว็บแอปพลิเคชันที่เผยแพร่ในเบราว์เซอร์ ให้กด F12 เพื่อไปที่เครื่องมือสำหรับนักพัฒนา
  • ไปที่เครือข่ายและสลับไปที่แท็บส่วนหัว
  • ในส่วนขอส่วนหัว ให้ค้นหาคุกกี้และคัดลอกค่า

การเพิ่มค่า Cookie ให้กับส่วนหัวของคำขอไปยัง WebSocket ใน Postman และคลิกที่ Connect คุณสามารถตรวจสอบได้ว่าการเชื่อมต่อกับ WS นั้นสร้างสำเร็จแล้ว

ผลลัพธ์ของการเชื่อมต่อที่สำเร็จแสดงไว้ด้านล่าง:

คุณสามารถส่งข้อความในบล็อก ข้อความใหม่ ได้ แต่ต้องอยู่ในรูปแบบ JSON หากคุณต้องการส่งสตริง "สวัสดี" ข้อความจะมีลักษณะดังนี้: {"message": "Hi"} ในกรณีนี้ ชื่อของคีย์ (เช่น ข้อความ) ต้องตรงกับชื่อของตัวแปรที่อินพุต BP

ผลการดำเนินการแบบสอบถาม:

นั่นคือวิธีสร้าง WebSocket ใน AppMaster.io ดูข้อมูลที่เป็นประโยชน์เพิ่มเติมเกี่ยวกับงานบนแพลตฟอร์มใน ศูนย์ช่วยเหลือ ของเรา

กระทู้ที่เกี่ยวข้อง

ระบบการจัดการการเรียนรู้ (LMS) เทียบกับระบบการจัดการเนื้อหา (CMS): ความแตกต่างที่สำคัญ
ระบบการจัดการการเรียนรู้ (LMS) เทียบกับระบบการจัดการเนื้อหา (CMS): ความแตกต่างที่สำคัญ
ค้นพบความแตกต่างที่สำคัญระหว่างระบบการจัดการการเรียนรู้และระบบจัดการเนื้อหาเพื่อปรับปรุงแนวทางปฏิบัติทางการศึกษาและปรับปรุงกระบวนการส่งมอบเนื้อหา
ผลตอบแทนจากการลงทุนของระบบบันทึกสุขภาพอิเล็กทรอนิกส์ (EHR): ระบบเหล่านี้ช่วยประหยัดเวลาและเงินได้อย่างไร
ผลตอบแทนจากการลงทุนของระบบบันทึกสุขภาพอิเล็กทรอนิกส์ (EHR): ระบบเหล่านี้ช่วยประหยัดเวลาและเงินได้อย่างไร
ค้นพบว่าระบบบันทึกสุขภาพอิเล็กทรอนิกส์ (EHR) ช่วยเปลี่ยนแปลงการดูแลสุขภาพได้อย่างไรด้วยการลงทุนด้านการลงทุน (ROI) ที่สำคัญด้วยการเพิ่มประสิทธิภาพ ลดต้นทุน และปรับปรุงการดูแลผู้ป่วย
ระบบการจัดการสินค้าคงคลังบนคลาวด์เทียบกับระบบภายในองค์กร: ระบบใดเหมาะกับธุรกิจของคุณ?
ระบบการจัดการสินค้าคงคลังบนคลาวด์เทียบกับระบบภายในองค์กร: ระบบใดเหมาะกับธุรกิจของคุณ?
สำรวจข้อดีและข้อเสียของระบบบริหารจัดการสินค้าคงคลังบนคลาวด์และภายในองค์กรเพื่อพิจารณาว่าระบบใดดีที่สุดสำหรับความต้องการเฉพาะตัวของธุรกิจของคุณ
เริ่มต้นฟรี
แรงบันดาลใจที่จะลองสิ่งนี้ด้วยตัวเอง?

วิธีที่ดีที่สุดที่จะเข้าใจถึงพลังของ AppMaster คือการได้เห็นมันด้วยตัวคุณเอง สร้างแอปพลิเคชันของคุณเองในไม่กี่นาทีด้วยการสมัครสมาชิกฟรี

นำความคิดของคุณมาสู่ชีวิต