แชทตามห้องที่มีฟีเจอร์ครบครันสำหรับผู้ใช้หลายหมื่นคน ไคลเอนต์และเซิร์ฟเวอร์ สร้างด้วยกรอบงานเว็บ Oat++
WebSocket
TLS
In-Memory
Single-Node
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
สนุก!