메시지 브릿지
매뉴얼 [웹] 데이터를 보내는 소스 (v1.4.1 보안 패치 적용)
페이지 정보
본문
보내는 소스는 구조가 단순하고 이해하기 쉽기 때문에, 별도의 설명 없이 소스 코드 자체를 제공하는 방식으로 안내드리겠습니다.
window.onWSMessage = function(activeUsers, lastMessage) {
if (lastMessage && lastMessage.type === "chat") {
const jsonData = {
type: "notification",
auth: "admin",
mb_id: MB_ID,
write_id: lastMessage.mb_id || "unknown",
ip: USER_IP,
noti_type: "chat_message",
mb_name: lastMessage.mb_name || lastMessage.mb_id || "익명",
bo_table: lastMessage.bo_table || "",
bo_subject: lastMessage.bo_subject || "",
wr_subject: lastMessage.wr_subject || "",
wr_id: lastMessage.wr_id || "",
skin_url: lastMessage.skin_url || ""
};
// 웹소켓이 열려 있는지 확인 후 전송
if (ws && ws.readyState === WebSocket.OPEN) {
sendEvent(jsonData);
} else {
console.warn("WebSocket이 열려 있지 않아 알림 메시지를 전송할 수 없습니다.");
}
}
};
참고로, window.onWSMessage 함수 안에서만 메시지를 전송할 수 있는 것은 아닙니다.
웹소켓을 통한 데이터 전송은 웹소켓 객체(ws)와 전송 함수(sendEvent)가 접근 가능한 범위로써, 함수 안팎 어디에서든 수행 가능합니다.
즉, 하단 JS 또는 다른 모듈에서 메시지를 보내더라도, 상단 엔진에서 관리하는 웹소켓 연결을 그대로 활용할 수 있습니다.
댓글목록
등록된 댓글이 없습니다.
