socket interface(client to server)
socket interface(server to client)
아래의 구조를 갖는 데이터들은 내부 Property를 기술하는 대신 지정한 이름으로 갈음한다.
※ type 명은 설명을 위해 임의로 붙인 이름으로, 실제 코드와 다를 수 있습니다.
userData
)declare type userData = {
userId: string // 유저 고유 ID,
nickname: string // 유저 닉네임
color: string // 유저의 커서 색깔
role: number // 유저의 권한 (0: Viewer / 1: Editor / 2: Owner)
}
objectData
)declare type objectData = {
objectId: string; // Object의 고유 ID (UUID)
type: 'postit' | 'section' | 'draw'; // Object의 종류
left: number;
top: number;
width: number;
height: number;
scaleX: number;
scaleY: number;
color: string;
text?: string; // type = postit / section 한정.
fontSize?: number; // type = postit / section 한정.
path?: string; // type = draw 한정.
creator: string; // 해당 Object를 배치한 유저의 ID
}
유저/게스트가 워크스페이스의 화이트보드에 접근한 경우, 화이트보드 복원 및 온라인 유저들의 정보 수신을 위해 사용한다.
Client To Server
connection
)Server to Client
이벤트명 | init |
---|---|
이벤트 수신 대상 | 연결을 시도한 Client |
최소 필요 권한(수신) | Viewer (0) |
입력 데이터 | 없음 |
반환 객체 | `{ |
members: userData[], | |
objects: objectData[], | |
userData: userData, | |
}` | |
반환 상세 | members : 화이트보드에 접속 중인 유저 및 게스트의 정보 |
objects : 화이트보드에 배치된 모든 Object에 대한 정보 |
|
userData : 연결을 요청한 사용자에 대한 유저 정보 |
|
참고 | 새로 접근하는 모든 유저/게스트는 Editor (1) 권한을 갖는다. |
새로운 유저/게스트가 화이트보드에 접근하였을 때, 해당 유저에 대한 정보를 전달한다.