Minitalk.socket Defined : /scripts/widget.socket.js
미니톡 채팅서버와 미니톡 채팅위젯 사이에 소켓통신을 하기 위한 클래스입니다.
- 이 기능은 문제의 소지가 있어 제거되었거나 제거될 예정입니다.
- 아직 안정적이라고 고려될만큼 충분한 테스트를 거치지 않았습니다.(합당하다면 하위호환성이 보장됩니다.)
- API가 충분히 검증되었지만, 기반이 되는 코드의 정리 때문에 마이너한 변경이 있을 수 있습니다.(하위호환성이 보장됩니다.)
- 심각한 버그가 발견되지 않는 한 이 코드는 절대 변경되지 않습니다.
PROPERTIES
-
channel:
접속한 채널에 대한 기본정보
최종수정일 :미니톡 채팅위젯이 현재 접속한 채널에 대한 기본정보가 담겨있습니다.
object channel {
string title : 접속한 채널명(미니톡 예제)
string token : 미니톡 클라이언트 API호출을 위한 토큰
boolean use_boxes : 개인박스 사용여부boolean use_users : 접속자목록 사용여부
boolean use_history : 이전대화보기 사용여부 (v7.0.0 이상)
}
-
connected:
미니톡 채팅서버에 접속중인지 여부
최종수정일 :미니톡 채팅서버에 접속이 되어있을 경우 true, 서버에 접속되지 않은 경우 false 로 정의된다.
미니톡 채팅서버 접속완료가 되었음을 확인할 때는 이 변수값을 바로 참조하는 것보다 Minitalk.socket.isConnected() 메소드를 이용하는 것을 권장합니다.
-
connecting:
미니톡 채팅서버에 접속시도중 여부
최종수정일 :미니톡 채팅서버에 접속시도중인 경우 true, 접속이 완료되었거나, 접속이 끊어진 경우 false 로 정의된다.
-
connection:
미니톡 채팅서버에 접속하기 위한 정보
최종수정일 :미니톡 채팅서버에 접속하기 위한 데이터가 정의되어 있습니다.
object connection {
string domain : 미니톡 채팅서버 도메인
string client_id : 미니톡 클라이언트 관리자 서버관리에서 정의된 클라이언트 아이디
string channel : 채널설정이 담긴 암호화된 문자열
string connection : 서버설정이 담긴 암호화된 문자열
}
-
io:
서버소켓통신을 위한 socket.io 객체
최종수정일 :socket.io 객체가 정의되어 있습니다.
socket.io 객체내에 정의된 변수 및 메소드와 관련된 사항은 https://socket.io 홈페이지 내 문서를 참고하시기 바랍니다.
-
joined:
미니톡 채팅서버에 접속후 채널에 참여했는지 여부
최종수정일 :미니톡 채팅서버에 접속후 채널에 참여가 되어 있을 경우 true, 채널에 참여하지 못하였을 경우 false 로 정의된다.
미니톡 채팅서버 접속완료가 되었음을 확인할 때는 이 변수값을 바로 참조하는 것보다 Minitalk.socket.isConnected() 메소드를 이용하는 것을 권장합니다.
-
permission:
접속한 채널에 대한 나의 권한여부
최종수정일 :접속한 채널에 대한 나의 권한설정값이 정의되어 있습니다.
object permission : {
boolean box : 개인박스 개설 권한 여부
boolean file : 파일전송 권한 여부
boolean font : 폰트설정 권한 여부
boolean nickname : 닉네임변경 권한 여부
boolean send : 메시지전송 권한 여부
boolean user : 접속자목록 보기 권한 여부
boolean user_limit : 접속자목록에 보일 최소유저레벨}
특정 권한이 있는지 확인하기 위해서는 해당 변수를 확인하는 것보다 Minitalk.socket.getPermission() 메소드를 이용하는 것을 권장합니다.
-
reconnectable:
미니톡 채팅서버와 연결이 해제되었을 경우 자동으로 재접속할지 여부
최종수정일 :미니톡 채팅서버와 어떠한 이유로 연결이 해제되었을 경우, 60초 뒤에 자동으로 재접속할지 여부를 정의한다.
특정사유 (닉네임 중복 등)로 미니톡 채팅서버와의 연결이 해제되었을 경우에는 자동으로 재접속하지 않도록 false 로 정의된다.
-
token:
미니톡 채팅서버로 API 호출하기 위한 토큰
최종수정일 :미니톡 채팅서버로 API 호출을 하기 위한 토큰(접속자인증)이 정의되어 있습니다.
-
uuid:
나의 유저고유값
최종수정일 :특정 미니톡 채팅위젯의 특정채널에 접속한 나의 유저 고유값을 확인합니다.
해당 유저고유값은 usercode 를 통해 고정된 닉네임이 정의되어 있는 경우, 해당 닉네임에 대해 고정된 유니크값이 정의되며, usercode 가 정의되지 않거나 고정된 닉네임이 없는 손님접속자의 경우, 브라우저를 완전히 종료하기 전 까지 고정된 유니크값이 정의됩니다.
METHODS
-
connect():
미니톡 채팅서버에 접속합니다.
최종수정일 :기본적으로 자동으로 호출되는 메소드로, 특별한 사유가 아닌 경우 해당 메소드를 이용하여 서버에 접속하는 것을 권장하지 않습니다.
-
disconnect():
미니톡 채팅서버와 접속을 해제합니다.
최종수정일 :미니톡 채팅서버와 접속을 해제합니다.
해당 메소드로 접속을 해제한 경우 미니톡 채팅서버에 자동으로 재접속하지 않습니다.
// 미니톡 채팅위젯 외부에서 특정 id 값을 가진 미니톡 채팅위젯의 서버연결을 해제합니다. MinitalkComponent.get("id").socket.disconnect(); // 미니톡 채팅위젯 내부에서 서버연결을 해제합니다. Minitalk.socket.disconnect();
-
isConnected():
미니톡 채팅서버에 접속여부를 반환한다.
최종수정일 :미니톡 채팅서버 접속여부확인이 필요할 경우 사용합니다.
// 미니톡 채팅위젯 외부에서 특정 id 를 가진 미니톡 채팅위젯의 접속여부를 확인할 경우 MinitalkComponent.get("id").socket.isConnected(); // 미니톡 채팅위젯 내부에서 미니톡 채팅위젯의 접속여부를 확인할 경우 Minitalk.socket.isConnected();
-
reconnect( time):
특정시간 뒤에 미니톡 채팅서버에 접속을 시도합니다.
최종수정일 :미니톡 채팅서버와 접속이 해제되는 경우, 대부분 자동으로 해당 메소드가 호출됩니다.
특정상황에서 재접속이 필요한 경우 해당 메소드를 호출하여 미니톡 채팅서버와 연결할 수 있습니다.
해당 함수를 호출할때, Minitalk.socket.reconnectable 변수의 값이 false 일 경우 재접속하지 않습니다.
int time : 재접속까지 대기할 시간(초)
-
send( protocol [, data ]):
미니톡 채팅서버에 데이터를 전송합니다.
최종수정일 :미니톡 채팅서버에 특정 프로토콜로 데이터를 전송합니다.
데이터전송을 하기 위해서는 Minitalk.socket.permission.send 에 정의된 값이 true 여야 가능합니다. (일부 프로토콜은 제외)
각 프로토콜 별 서버에 데이터를 보내는 함수가 따로 정의되어 있기 때문에, 해당 메소드로 직접 데이터를 서버에 전송하는 것은 권장하지 않습니다.
-
sendProtocol( protocol [, data = NULL, to = "*" ]):
사용자정의 프로토콜을 전송한다.
최종수정일 :미니톡 채팅위젯에 기본적으로 정의된 프로토콜 외에 사용자정의 프로토콜을 서버에 전송하여, 접속자에게 데이터를 전송합니다.
string protocol : 프로토콜명
any data : 해당 프로토콜에 전송할 데이터 (string, object 등 모든 타입의 데이터를 전송할 수 있으며, 없을 경우 NULL 이 전송됩니다.)
string to : 수신자 닉네임 (특정유저에게 전송할 경우 수신자 닉네임을 정의합니다. 없을 경우 전체 유저(*) 에게 전송됩니다.)
정의된 사용자정의 프로토콜을 정의하는 방법에 대해서는 Minitalk.socket.setProtocol() 메소드 문서를 참고하세요.
-
setProtocol( protocol, function):
사용자정의 프로토콜을 정의한다.
최종수정일 :미니톡 채팅위젯에 기본적으로 정의된 프로토콜 외에 사용자정의 프로토콜을 추가하여 서버에 전송하거나, 수신할 때 실행될 함수를 정의할 수 있습니다.
string protocol : 프로토콜명
callback function : 해당 프로토콜을 수신하였을 경우, 실행할 함수
콜백 함수의 매개변수로 아래와 같은 정보가 전달됩니다.
callback function(
Minitalk minitalk : 프로토콜을 수신한 미니톡 객체
object data : 프로토콜에 담긴 데이터
User to : 프로토콜을 수신한 유저객체 (전체 유저를 대상으로 전송된 프로토콜인 경우 "*" 을 반환한다.)
User from : 프로토콜을 전송한 유저객체
)
정의된 사용자정의 프로토콜을 이용하여 데이터를 보내는 방법에 대해서는 Minitalk.socket.sendProtocol() 메소드 문서를 참고하세요.