start
이벤트
용도: 클라이언트가 퀴즈를 시작하고 싶을 때 사용.
송신 데이터: 없음
{
"event": "start",
}
서버 응답 데이터:
{
"event": "start",
"data": "OK"
}
submit
이벤트
용도: 클라이언트가 퀴즈의 답을 제출할 때 사용.
송신 데이터: quizSubmit
객체
{
"event": "submit",
"data": {
index: 0;
answer: "abc";
submittedAt: 172392390;
}
}
서버 응답 데이터:
{
"event": "submit",
"data": "OK"
}
nextQuiz
이벤트
nextQuiz
)
데이터 형식
interface CurrentQuizDto {
readonly question: string;
readonly stage: 'LOBBY' | 'WAITING' | 'IN_PROGRESS' | 'COMPLETED' | 'RESULT';
readonly currentIndex: number;
readonly startTime: number;
readonly deadlineTime: number;
}
예시
{
"event": "nextQuiz",
"data": {
stage: "WAITING",
question: "질문1",
currentIndex: 0,
playTime: 3000,
startTime: 172392390,
deadlineTime: 172395390,
}
}
finish
이벤트
예시
{
"event": "finish"
}
quizTimeOut
이벤트
예시
{
"event": "quizTimeOut"
}
summary
이벤트
summaryResult
)
데이터 형식
interface QuizResultSummaryDto {
score: number;
submits: SubmittedQuiz[];
quizzes: Quiz[];
}
예시
{
"event": "summary",
"data": {
score: 0,
submits: [
{
index: 0,
answer: "제출1",
summitedAt: 172392390,
receivedAt: 172392390
}
],
quizzes: [
{
quiestion: "문제1",
answer: "답변1",
playTime: "30000"
}
],
}
}