تخطَّ إلى المحتوى

WebSocket

messaging-websocket هو مزود مراسلة تملكه الإجابات ويتم توليده من build-answer.json. يكون مفيدا عندما يحافظ العملاء على جلسة WebSocket مباشرة مع Greentic ويتبادلون frames JSON بدلا من استخدام منصة دردشة مسماة.

يدعم حاليا:

  • التحقق من الاتصال بلا مصادقة، أو بمصادقة bearer-token، أو بمصادقة query-token
  • ربط frames النص الواردة التي تحتوي على كائنات JSON بأحداث موحدة
  • بناء frames نص صادرة من payload الرسائل
  • توحيد أحداث دورة الحياة لـ open وclose وerror

frames الثنائية مؤجلة في تنفيذ المزود الحالي.

  1. أضف pack المزود

    اختر messaging-websocket باستخدام gtc wizard أو أضف pack إلى bundle من كتالوج مزودي المراسلة.

  2. اضبط سياسة الاتصال

    استخدم إجابات الإعداد المولدة للـ pack المثبت. يتضمن الإعداد المعتاد metadata للـ tenant/team ومصادقة اختيارية.

  3. شغل setup

    Terminal window
    gtc setup ./my-bundle
  4. ابدأ runtime

    Terminal window
    gtc start ./my-bundle

يجب أن تكون 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.

تتطلب الرسائل الصادرة session_id وpayload كائن. يتم تحويلها إلى frames نصية:

{
"session_id": "session-1",
"opcode": "text",
"data": "{\"message\":\"hello\"}"
}
الاتجاهالبروتوكول والمنفذالغرض
واردWSS 443 إلى Greenticعملاء WebSocket في المتصفح أو الخدمات في الإنتاج
وارد، تطوير محليWS على منفذ runtime/tester المحلياختبار محلي قبل إنهاء TLS/النفق
صادرWS أو WSS إلى endpoints مضبوطة عند استخدامها بواسطة تكامل host/runtimeframes صادرة يبنيها المزود

استخدم tester المحلي:

Terminal window
./scripts/test_ws.sh

تحتوي صفحة tester على أزرار منفصلة لربط frames الواردة، وتوليد frames الصادرة، وتوحيد أحداث دورة الحياة، وتعرض حالة نجاح/فشل واضحة.