WebSocket
نظرة عامة
Section titled “نظرة عامة”messaging-websocket هو مزود مراسلة تملكه الإجابات ويتم توليده من build-answer.json. يكون مفيدا عندما يحافظ العملاء على جلسة WebSocket مباشرة مع Greentic ويتبادلون frames JSON بدلا من استخدام منصة دردشة مسماة.
يدعم حاليا:
- التحقق من الاتصال بلا مصادقة، أو بمصادقة bearer-token، أو بمصادقة query-token
- ربط frames النص الواردة التي تحتوي على كائنات JSON بأحداث موحدة
- بناء frames نص صادرة من payload الرسائل
- توحيد أحداث دورة الحياة لـ
openوcloseوerror
frames الثنائية مؤجلة في تنفيذ المزود الحالي.
الإعداد
Section titled “الإعداد”-
أضف pack المزود
اختر
messaging-websocketباستخدامgtc wizardأو أضف pack إلى bundle من كتالوج مزودي المراسلة. -
اضبط سياسة الاتصال
استخدم إجابات الإعداد المولدة للـ pack المثبت. يتضمن الإعداد المعتاد metadata للـ tenant/team ومصادقة اختيارية.
-
شغل setup
Terminal window gtc setup ./my-bundle -
ابدأ runtime
Terminal window gtc start ./my-bundle
Frames واردة
Section titled “Frames واردة”يجب أن تكون frames الواردة frames نصية تحتوي على كائن JSON. يربطها المزود بأحداث بالشكل التالي:
{ "provider": "messaging-websocket", "direction": "inbound", "kind": "websocket.frame", "session_id": "session-1", "payload": { "message": "hello" }, "metadata": { "tenant_id": "demo", "team_id": "default" }}توحّد أحداث دورة الحياة بقيم kind مثل websocket.open وwebsocket.close وwebsocket.error.
Frames صادرة
Section titled “Frames صادرة”تتطلب الرسائل الصادرة session_id وpayload كائن. يتم تحويلها إلى frames نصية:
{ "session_id": "session-1", "opcode": "text", "data": "{\"message\":\"hello\"}"}الوصول إلى الشبكة
Section titled “الوصول إلى الشبكة”| الاتجاه | البروتوكول والمنفذ | الغرض |
|---|---|---|
| وارد | WSS 443 إلى Greentic | عملاء WebSocket في المتصفح أو الخدمات في الإنتاج |
| وارد، تطوير محلي | WS على منفذ runtime/tester المحلي | اختبار محلي قبل إنهاء TLS/النفق |
| صادر | WS أو WSS إلى endpoints مضبوطة عند استخدامها بواسطة تكامل host/runtime | frames صادرة يبنيها المزود |
الاختبار
Section titled “الاختبار”استخدم tester المحلي:
./scripts/test_ws.shتحتوي صفحة tester على أزرار منفصلة لربط frames الواردة، وتوليد frames الصادرة، وتوحيد أحداث دورة الحياة، وتعرض حالة نجاح/فشل واضحة.