SMS처리 도우미
제목
  [RE] [RE] [RE] 안녕하세요. 카카오톡 만들기 질문드립니다. (From. 소스놀이터)

알려주신 소스 상으로는 알기 힘드네요.

아마도 nodejs 쪽의 sendChat 함수가 원하는대로 작동되지 않는 듯 합니다.

얼마 안 있어, 전체 소스를 "zooo.kr 상단메뉴 - 오픈소스"에서 공개할 생각입니다.

(14강 이후의 내용들이 모두 포함된 소스입니다)

미흡하나마 그때 참조 부탁드려요.

 

[[RE] [RE] 안녕하세요. 카카오톡 만들기 질문드립니다.의 답글] ----------------------------------------------------------------

답변 감사드립니다 ㅠ 해결된거같아요 혹시.. 다른문제가 생겼는데

14강까지 다 들었거든요 근데 채팅을 치면 여전히 새로고침해야 나오네요 어딘가 잘못된 걸까요??

아 그리고 영상이랑 다르게 전송버튼 누르면 입력창에 내용이 안지워지고 그대로 남아있습니다

콘솔로그에도 "arrive_new_message OK" 가 안찍히구요

에러내용도 없어서 어디서부터 건드려야할지 모르겠네요 ㅠ

function sendChat(room_id, send_memberCode) {
        ALL_ROOM.forEach(function(element, index) {
            if(element.id == room_id) { // 맞는 방 찾기
                element.members.forEach(function(member, memberIdx) {
                    ALL_USER.forEach(function(user, userIdx) {
                        if(member.memberCode == user.memberCode) { // 현재 접속한 유저에 포함된다면..
                            let data = {"code" : "arrive_new_message", "room_id" : room_id};
                            user.ws.send(JSON.stringify(data));
                            console.log("arrive_new_message OK");
                        }
 
                    });
                });
            }
        });
    }

 

 

function getAllMessageFromRoom(room_id, mode){
            $.ajax({
                    type: 'POST',
                    url: "getAllMessageFromRoom.php",
                    data: {"room_id": room_id},
                    dataType : 'text',
                    cache: false,
                    async: false
                })
                .done(function( result ) {
                    let chatList = {"CHAT": JSON.parse(result)};
                    chatList.CHAT.forEach(function(element, index){
                        let isMy = false;
                        let isYou = true;
                        if(element.memberCode == "<?php echo $_SESSION["kakao_member_code"]?>") {
                            isMy = true;
                            isYou = false;
                        }
                        element.chat_contents = chatList.CHAT[index].chat_contents.replace(/(?:\r\n|\r|\n)/g, '<br/>');
                        chatList.CHAT[index].isMy = isMy;
                        chatList.CHAT[index].isYou = isYou;
                    });
                    if(mode == "first"){
                        var output = Mustache.render($("#MAIN").html(), chatList);
                        $("#MAIN").html(output);
                    } else {
                        $("#BACKGROUND").load("chat.php", function() {
                            var output = Mustache.render($("#BACKGROUND").html(), chatList);
                            $("#MAIN").html(output);
                            $("#BACKGROUND").html("");
                        });  
                    }
                })
                .fail(function( result, status, error) {
                    // 실패했을때
                    alert("에러 발생" + error)
                });
        }

 

 

websocket.onmessage = function(e){
                let message = JSON.parse(e.data);
 
                switch(message.code) {
                    case "send_roominfo" : // 방 생성후 받은 방 코드
                        NOW_ROOM_ID = message.room_id;
 
                        getAllMessageFromRoom(NOW_ROOM_ID, "first");
                    break;
                    case "arrive_new_message" : // 새 메시지 도착
                        NOW_ROOM_ID = message.room_id;
 
                        getAllMessageFromRoom(NOW_ROOM_ID, "notfirst");
                    break;
                }
            }

 

----------------------------------------------------------------

트위터, 페이스북 공유 부탁드립니다~!
트위터   페이스북


  • 패스워드
X