수만 명의 사용자를 위한 기능이 완비된 회의실 기반 채팅입니다. 클라이언트 플러스 서버. Oat++ 웹 프레임워크로 구축되었습니다.
Single-Node
In-Memory
WebSocket
TLS
.
docker run -p 8443:8443 -e EXTERNAL_ADDRESS=localhost -e EXTERNAL_PORT=8443 -it lganzzzo/ canchat
모든 의사소통은 채팅방에서 이루어집니다.
각 방에는 고유한 URL이 있습니다.
room-URL을 가지고 있는 사람은 누구나 방에 참여할 수 있습니다. 충분히 긴 방 URL을 무작위로 생성하면 참가자에게 개인정보가 보호됩니다. 원하는 참가자에게만 회의실 URL을 공유하세요.
방은 첫 번째 참가자가 방에 들어오면 자동으로 생성되며, 마지막 참가자가 방에서 나가면 자동으로 삭제됩니다.
새로 참여한 참가자는 채팅 기록을 사용할 수 있습니다. 방의 메시지 수가 maxRoomHistoryMessages
구성 매개변수를 초과하면 기록이 반올림됩니다. 채팅방이 삭제되면 기록이 삭제되며 더 이상 사용할 수 없습니다.
사용자는 한 번에 여러 파일을 공유할 수 있습니다.
파일은 호스트-피어 시스템에서 직접 스트리밍됩니다. 아무것도 서버에 업로드되거나 제3자 장소에 저장되지 않습니다.
호스트-피어가 파일 공유를 취소하면 파일을 더 이상 사용할 수 없습니다.
호스트 피어가 방을 나가면 그의 모든 파일 공유가 취소됩니다.
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
에 따라 릴리스됩니다.
즐기다!