Giao thức WebSocket ( WS ) cung cấp khả năng trao đổi dữ liệu giữa trình duyệt web và máy chủ qua kết nối liên tục. Dữ liệu được truyền qua nó theo cả hai hướng dưới dạng "gói", mà không phá vỡ kết nối và các yêu cầu HTTP bổ sung.
WebSocket đặc biệt tốt cho các dịch vụ cần giao tiếp liên tục, chẳng hạn như trò chơi trực tuyến, thị trường thời gian thực, v.v.
ví dụ sử dụng
Hãy xem cách tạo và sử dụng WebSocket trong AppMaster bằng một ví dụ về chatbot đơn giản.
Trước tiên, bạn cần tạo một quy trình công việc trong phần phụ trợ của ứng dụng ( phần Backend > Business Processes ), quy trình này sẽ trả lời tin nhắn của người dùng và gửi nội dung nào đó để phản hồi, tùy thuộc vào tin nhắn nhận được.
BP này nhận được một tin nhắn và tùy thuộc vào nội dung của nó, sẽ trả về một chuỗi phản hồi.
- Nếu message = “ Hi! ”, sau đó bạn nhận được một tin nhắn trong phản hồi có nội dung “ Hello! ”;
- Nếu message = “ How are you doing? ”, thì BP sẽ trả về chuỗi “ Great! How about you? “;
- Trong bất kỳ trường hợp nào khác, BP sẽ hoạt động như một tiếng vang và trả về cùng một chuỗi mà nó nhận được ở đầu vào.
Sau đó, bạn cần tạo WebSocket Endpoint (đi tới Phần Endpoints > Điểm cuối > Điểm cuối New Endpoint > WebSocket Endpoint Backend để BP này giao tiếp với bot của chúng ta.
Trong cửa sổ mới mở, hãy điền vào các trường sau:
- Endpoint Type : GET
- Endpoint Address
- Endpoint Group
- Business Process
Sau khi thiết lập Endpoint bạn cần xuất bản ứng dụng để sử dụng nó ( Publish ).
WebSocket có thể được kiểm tra bằng cách sử dụng ứng dụng Postman ( https://www.postman.com/ ). Bạn có thể tìm thấy hướng dẫn chi tiết về cách sử dụng Postman dưới liên kết: https://learning.postman.com/docs/sending-requests/supported-api-frameworks/websocket/ .
Trước hết, hãy tạo một yêu cầu WebSocket mới trong ứng dụng Postman ( New > WebSocket Request ).
Bạn sẽ cần đặt một địa chỉ websocket đầy đủ. Điều này có thể nhận được trong Swagger ( Preview > Development ) bằng cách gửi yêu cầu đến Endpoint mà chúng tôi đã tạo trước đó trong hướng dẫn này. Bạn sẽ thấy địa chỉ websocket trong phần Request URL .
Sau khi sao chép và dán nó vào trường tương ứng trong Postman , bạn cần thay thế https bằng wss , vì giao tiếp sẽ thông qua giao thức wss .
Tiếp theo, bạn cần đăng nhập để sử dụng WebSocket . Ủy quyền trong websockets được thực hiện thông qua Cookies . Bạn có thể tìm Cookies theo cách sau:
- Nhấn F12 trong ứng dụng đã xuất bản để mở công cụ dành cho nhà phát triển;
- Chuyển đến Networks và chuyển sang tab Headers ;
- Trong Request Headers , bạn sẽ thấy giá trị Cookie ;
Bằng cách thêm giá trị Cookie vào tiêu đề yêu cầu ( Headers ) vào WebSocket trong Postman và nhấp vào Connect , bạn có thể xác minh rằng kết nối với WS đã được thiết lập thành công. Kết quả của một kết nối thành công được hiển thị trong ví dụ dưới đây.
Bạn có thể gửi tin nhắn trong khối New Message , nhưng tin nhắn đó phải JSON-formatted . Tức là nếu bạn muốn gửi chuỗi " Hello! ", thì tin nhắn sẽ như sau: {" message " : " Hello! "}. Trong trường hợp này, tên của khóa (= message trong trường hợp này) phải khớp với tên của biến ở đầu vào BP.
Kết quả của việc thực hiện truy vấn này trong ví dụ dưới đây: