ميزة الدردشة المبنية على الغرف لعشرات الآلاف من المستخدمين. العميل بالإضافة إلى الخادم. تم تصميمه باستخدام إطار عمل الويب Oat++.
Single-Node
In-Memory
WebSocket
TLS
.
docker run -p 8443:8443 -e EXTERNAL_ADDRESS=localhost -e EXTERNAL_PORT=8443 -it lganzzzo/ canchat
جميع الاتصالات تتم في غرف الدردشة.
تحتوي كل غرفة على عنوان URL فريد.
يمكن لأي شخص لديه عنوان URL للغرفة الانضمام إلى الغرفة. يؤدي إنشاء عنوان URL عشوائي طويل بما فيه الكفاية للغرفة إلى توفير الخصوصية للمشاركين. تأكد من مشاركة عنوان URL الخاص بالغرفة مع المشاركين المطلوبين فقط.
يتم إنشاء الغرف تلقائيًا عندما ينضم المشارك الأول إلى الغرفة، ويتم حذفها تلقائيًا عندما يغادر آخر مشارك الغرفة.
سجل الدردشة متاح للمشاركين المنضمين حديثًا. يتم تقريب السجل عندما يتجاوز عدد الرسائل في الغرفة معلمة التكوين maxRoomHistoryMessages
. يتم حذف السجل ولن يعد متاحًا بمجرد حذف الغرفة.
يمكن للمستخدمين مشاركة ملفات متعددة في وقت واحد.
يتم دفق الملفات مباشرة من جهاز النظير المضيف. لا يتم تحميل أي شيء على الخادم أو تخزينه في أي مكان ثلاثي الأبعاد.
بمجرد قيام نظير المضيف بإلغاء مشاركة الملفات، لن تعد الملفات متوفرة.
إذا خرج النظير المضيف من الغرفة، فسيتم إلغاء كافة عمليات مشاركة الملفات الخاصة به.
LibreSSL
الإصدار 3.0.0
أو الأحدث. لتثبيت وحدات oatpp، يمكنك استخدام البرنامج النصي utility/install-oatpp-modules.sh
$ cd < this-repo > /server/
$ mkdir build/ && cd build/
$ cmake ..
$ make
الآن قم بتشغيل خادم الدردشة
$ canchat -exe --host localhost --port 8443
$ docker build -t canchat .
$ docker run -p 8443:8443 -e EXTERNAL_ADDRESS=localhost -e EXTERNAL_PORT=8443 -it canchat
ثم انتقل إلى https://localhost:8443/ في المتصفح. (قبول الشهادة الموقعة ذاتيا)
معلمات الصورة:
-e EXTERNAL_ADDRESS
- العنوان الذي من المفترض أن يتصل به العميل.-e EXTERNAL_PORT
- المنفذ في EXTERNAL_ADDRESS
الذي من المفترض أن يتصل به العميل. سيتم أيضًا تشغيل خادم الدردشة على هذا المنفذ .-e TLS_FILE_PRIVATE_KEY
- المسار إلى ملف المفتاح الخاص TLS.-e TLS_FILE_CERT_CHAIN
- المسار إلى ملف سلسلة شهادات TLS. - front/ # - Front-end sources are here
- server/ # - Server sources are here
- cert/ # - test TLS certificate is here
- utility/
|
|- install-oatpp-modules.sh # - useful script to install required oatpp modules
تم إصدار هذا المشروع بموجب Apache License 2.0
.
يتمتع!