โปรโตคอล WebSocket ( WS ) ให้ความสามารถในการแลกเปลี่ยนข้อมูลระหว่างเว็บเบราว์เซอร์และเซิร์ฟเวอร์ผ่านการเชื่อมต่อแบบถาวร ข้อมูลจะถูกส่งผ่านทั้งสองทิศทางในรูปแบบของ "แพ็กเก็ต" โดยไม่ทำลายการเชื่อมต่อและร้องขอ HTTP เพิ่มเติม
WebSocket เหมาะอย่างยิ่งสำหรับบริการที่ต้องการการสื่อสารอย่างต่อเนื่อง เช่น เกมออนไลน์ ตลาดเรียลไทม์ และอื่นๆ
ตัวอย่างการใช้งาน
มาดูการสร้างและใช้งาน WebSocket ใน AppMaster โดยใช้ตัวอย่างแชทบอทอย่างง่าย
ขั้นแรก คุณต้องสร้างกระบวนการทางธุรกิจในแบ็กเอนด์ของแอปพลิเคชัน (ส่วน Backend > Business Processes ) ซึ่งจะตอบกลับข้อความของผู้ใช้และส่งบางสิ่งตอบกลับ ขึ้นอยู่กับข้อความที่ได้รับ
BP นี้ได้รับข้อความและส่งคืนสตริงตอบกลับ ทั้งนี้ขึ้นอยู่กับเนื้อหา
- หาก message = “ Hi! " จากนั้นคุณจะได้รับข้อความตอบกลับว่า " Hello! ”;
- หาก message = “ How are you doing? " จากนั้น BP จะส่งคืนสตริง " Great! How about you? ";
- ในกรณีอื่น ๆ BP จะทำงานเป็นเสียงสะท้อนและตอบกลับเป็นสตริงเดียวกันกับที่ได้รับจากอินพุต
จากนั้น คุณต้องสร้าง WebSocket Endpoint (ไปที่ Backend > Endpoints > New Endpoint > WebSocket Endpoint ) เพื่อให้ BP นี้สื่อสารกับบอทของเรา
ในหน้าต่างที่เพิ่งเปิดใหม่ ให้กรอกข้อมูลในฟิลด์ต่อไปนี้:
- Endpoint Type : GET
- Endpoint Address
- Endpoint Group
- Business Process
หลังจากตั้งค่า Endpoint คุณต้องเผยแพร่แอปพลิเคชันเพื่อใช้งาน ( Publish )
สามารถทดสอบ WebSocket ได้โดยใช้แอป Postman ( https://www.postman.com/ ) คุณสามารถดูคำแนะนำโดยละเอียดเกี่ยวกับวิธีใช้ Postman ได้ที่ลิงก์: https://learning.postman.com/docs/sending-requests/supported-api-frameworks/websocket/
ก่อนอื่น สร้างคำขอ WebSocket ใหม่ในแอปพลิเคชัน Postman ( New > WebSocket Request )
คุณจะต้องใส่ที่อยู่เว็บซ็อกเก็ตแบบเต็ม สามารถรับได้ใน Swagger ( Preview > Development ) โดยส่งคำขอไปยัง Endpoint ที่เราสร้างไว้ก่อนหน้านี้ในคู่มือนี้ คุณจะเห็นที่อยู่เว็บซ็อกเก็ตในส่วน Request URL
หลังจากคัดลอกและวางลงในฟิลด์ที่เกี่ยวข้องใน Postman คุณต้องแทนที่ https ด้วย wss เนื่องจากการสื่อสารจะดำเนินการผ่านโปรโตคอล wss
ถัดไป คุณต้องเข้าสู่ระบบเพื่อใช้ WebSocket การอนุญาตในเว็บซ็อกเก็ตดำเนินการผ่าน Cookies คุณสามารถค้นหา Cookies ด้วยวิธีต่อไปนี้:
- กด F12 ในแอปพลิเคชันที่เผยแพร่เพื่อเปิดเครื่องมือสำหรับนักพัฒนา
- ไปที่ Networks และสลับไปที่แท็บ Headers
- ใน Request Headers คุณจะเห็นค่า Cookie
ด้วยการเพิ่มค่า Cookie ให้กับส่วนหัวของคำขอ ( Headers ) ใน WebSocket ใน Postman และคลิกที่ Connect คุณจะสามารถตรวจสอบได้ว่าสร้างการเชื่อมต่อกับ WS สำเร็จแล้ว ผลลัพธ์ของการเชื่อมต่อที่สำเร็จจะแสดงในตัวอย่างด้านล่าง
คุณสามารถส่งข้อความในบล็อก New Message ได้ แต่ต้องอยู่ JSON-formatted นั่นคือ ถ้าคุณต้องการส่งสตริง " Hello! " ข้อความจะมีลักษณะดังนี้: {" message " : " Hello! "} ในกรณีนี้ ชื่อของคีย์ (= message ในกรณีนี้) จะต้องตรงกับชื่อของตัวแปรที่อินพุต BP
ผลลัพธ์ของการดำเนินการค้นหานี้ในตัวอย่างด้านล่าง: