Page 342 - 2020학년도 MDP과제발표회 자료집 (통신과) (3)
P. 342
var d = newDate.getDate();
var get_D = newDate.getDay();
console.log("Android");
ANDROID = socket; // 안드로이드 정보 저장
이 문구가 중요합니다 변수 . ANDROID 는 위에 net 모듈을 선언할 때 같이 쓴 것입니다 이 변수에 소켓을 .
저장하게 되면 다른 소켓서버에서도 이 소켓정보를 통해서 해당 소켓으로 데이터를 전송할 수 있습니다.
socket.setEncoding("utf8"); // 데이터 UTF-8 로 인코딩
socket.on('data', function(data){ // on('data') : 'data' 이벤트가 왔을 때 콜백함수 실행
if(data.includes("{")){
console.log(" 안드로이드에서 보낸 값 : " + data); // 해당 소켓에서 들어온 데이터 콘
솔에 출력
var GET = JSON.parse(data); // 파싱
if(GET.day){ // 일정을 입력했을때
var sql = " insert into planner(date, time, schedule) values(" + GET.day + " , '" +
GET.time1 + ":" + GET.time2 + "' , '" + GET.planner + "');";
timetable.query(sql, function(err, result, fields){ // 쿼리문 실행 후 콜백함수 실행
if(!err){ // 쿼리문이 에러가 없다면
console.log(" 저장완료");
}
else{ // 에러가 있다면
console.log('[' + sql + ']Query has error!'); // 에러가 있다고 콘솔에 출력
}
})
}
else if(GET.Password){ // 고정 비밀번호 요청이 왔을때
var GET_A = GET.Password;
var sub_S1 = GET_A + "0"; // 위모스쪽에서 고정비밀번호와 OTP 와의 구분을 위해서 '0'
을 붙임
sub_S2 = JSON.stringify(sub_S1); // JSON 문자열로 변환
var time_A22 = newDate.toFormat('YYYYMMDD-HH24:MI'); // 현재시간
var sql_A22 = "insert into otp(time, otp) values('" + time_A22 + "','" + GET_A +
"');";
timetable.query(sql_A22, function(err, result, fields){ // 쿼리문 실행 후 콜백함
수 실행
356 인천전자마이스터고등학교 - 356 -
정보통신기기과