aim oscar server
1.0.0
자신의 AIM 채팅 서버를 실행하여 사용자 및 그룹을 관리하십시오. 빈티지 클라이언트를 연결하고 대화를 나누십시오.
이 저장소를 복제하고 터미널 경로에 설치했는지 확인하십시오. env/example.config.yml env/config.yml 로 복사하고 서비스 설정을 구성하십시오.
서버에는 설정 해야하는 두 개의 주소가 있습니다.
addr : 호스트 : 서버가 바인딩하는 포트bos : 호스트 : 고객이 기본 오스카 서비스에 액세스하려고 노력할 포트 bos 클라이언트가 0.0.0.0 아닌 직접 도달 할 수있는 IP 여야합니다. 가상 환경에서 클라이언트를 실행하는 경우 bos 기계의 로컬 IP로 설정해야합니다. MACOS에서는 다음을 통해 찾을 수 있습니다.
osascript -e "IPv4 address of (system info)"
이 서비스를 처음 실행 한 경우 DB 마이그레이션을 수행하여 모든 테이블을 설정하고 기본 사용자를 만들어야합니다.
$ go run cmd/migrate/main.go --config <path to config> init
$ go run cmd/migrate/main.go --config <path to config> up
구성을 설정 한 후 서버를 실행할 수 있습니다.
$ ./run.sh
다른 곳에서 구성을 설정하면 CONFIG_FILE 환경 변수를 구성 파일의 전체 경로로 설정하십시오.
$ CONFIG_PATH=/Users/admin/config.yml ./run.sh
AIM-OSCAR-SERVER를 개발하려면 ./dev.sh 에는 nodemon 강화 된 스크립트가있어 변경 사항을 감시하고 AIM-OSC-SERVER를 자동으로 다시로드 할 수 있습니다. AIM 클라이언트는 서버를 사용할 수 없을 때 즉시 실패하지 않으므로 빠르게 개발할 수 있습니다.
cmd/user 에는 서버에서 사용자를 추가하고 확인할 수있는 사용자 관리 도구가 있습니다.
사용자를 추가하고 확인하려면 :
$ go run cmd/user/main.go --config <path to config> add <screen_name> <password> <email>
등록했지만 확인되지 않은 사용자를 확인하려면 이메일을 확인합니다.
$ go run cmd/user/main.go --config <path to config> verify <screen_name>
Iserverd에서
BOS : 기본 오스카 서비스. 이 용어는 인스턴트 메신저 서비스의 핵심을 형성하는 서비스를 말합니다. 이러한 서비스에는 로그인/로그인, 위치, 인스턴트 메시지, 명단 관리, 정보 관리 및 버디 목록이 포함됩니다.FLAP 은 저수준의 레벨 커뮤니케이션 프로토콜로, 높은 수준의 레코드 지향 통신 계층의 개발을 용이하게합니다. 모든 클라이언트와 서버 간의 TCP 연결에 사용됩니다.SNAC : SNAC는 클라이언트와 서버간에 교환되는 기본 커뮤니케이션 장치입니다. SNAC 통신 계층은 플랩 레이어 위에 있습니다.TLV : 유형 길이 값. 타이핑 된 불투명 정보를 프로토콜을 통해 전달할 수있는 튜플. 일반적으로 TLV는 핵심 계층에서의 해석을위한 것입니다. 입력되면 하단 층을 수정하여 새로운 요소를 추가 할 수 있습니다.ICBM : 인터 클라이언트 기본 메시지. ICBM은 채널 화 된 클라이언트 간 메커니즘입니다. 현재 가장 사용자가 눈에 띄는 채널은 인스턴트 메시지에 사용됩니다.