오늘은 지난 시간에 그누보드 게시글 코멘트를 실시간 업데이트 보여주기 구현(외근관리사이트...)에 이어서
게시글 신규 등록시 다른기기에서 사용자 리플레시/리로드 없이 리스트를 실시간으로 리스트업이 되도록 구현해 보겠습니다.
작업환경: 카페24 노드js호스팅 ( http://nodejs19.cafe24app.com/publish/ ) -> 사용만기 되어서 변경
-> http://cloudnode.paas-ta.org/publish/ (클라우드 파스타 사용)
웹프로그램: 닷홈 무료호스팅 그누보드 CMS ( http://timespace12.dothome.co.kr )
실행결과 확인(아래-아무런 사용자 액션없이 자동으로 다른 기기에서 리스트업 됩니다.)
*작업 내역
- 노드js 소스: 지난번 직업한 web.js 파일에 아래 3줄 추가
socket.on('list_view', function(data) {
console.log('리스트뷰'+data.bo_table);//디버그
io.emit('list_view', data); //원격 그누보드 에서 실행할 함수 지정
});
- 닷홈 그누보드 소스:
1. 게시판 쓰기 스킨 write.skin.php 파일 하단에 추가.
function fwrite_submit(f)
{
...
//노드js추가 시작
node_list_view('<?=$bo_table?>');
//노드js추가 끝
...
</script>
<!-- 노드js추가 시작
<script src='http://nodejs19.cafe24app.com/socket.io/socket.io.js'></script>
-->
<!-- 클라우드 파스타로 변경 후 -->
<script src='http://cloudnode.paas-ta.org/socket.io/socket.io.js'></script>
<!-- 실제 위 서버경로에 socket.io.js를 사용자가 생성하지 않아도, 노드서버가 실행되어 있다면, 자동으로 생성됨.
즉, 위 경로를 URL로 접근시 파일을 다운로드 할 수 있다면, 노드서버가 실행중이라고 판단하면 됨 -->
<script>
//var serverUrl = 'http://nodejs19.cafe24app.com'; //파스타 클라우드로 변경 후(아래)
var serverUrl = 'http://cloudnode.paas-ta.org';
var socket = io.connect(serverUrl);
function node_list_view(bo_table)
{
socket.emit('list_view', {
bo_table: bo_table
});
}
</script>
<!-- 노드js추가 끝 -->
2. 게시판 리스트 스킨 list.skin.php 파일 하단에 추가.
<!-- 노드js추가 시작
<script src='http://nodejs19.cafe24app.com/socket.io/socket.io.js'></script>
-->
<!-- 클라우드 파스타로 변경 후 -->
<script src='http://cloudnode.paas-ta.org/socket.io/socket.io.js'></script>
<!-- 실제 위 서버경로에 socket.io.js를 사용자가 생성하지 않아도, 노드서버가 실행되어 있다면, 자동으로 생성됨.
즉, 위 경로를 URL로 접근시 파일을 다운로드 할 수 있다면, 노드서버가 실행중이라고 판단하면 됨 -->
<script>
//var serverUrl = 'http://nodejs19.cafe24app.com'; //파스타 클라우드로 변경 후(아래)
var serverUrl = 'http://cloudnode.paas-ta.org';
var socket = io.connect(serverUrl);
socket.on('list_view', function(data) {
var bo_table= data.bo_table;
document.location.replace("http://timespace12.dothome.co.kr/gnu/bbs/board.php?bo_table="+ bo_table);
});
</script>
<!-- 노드js추가 끝 -->
주의)
//$comment_id = mysql_insert_id();//php7 이후에서는 아래로 변경
$comment_id = sql_insert_id();
참고)
파스타 클라우드용 노드js 소스 Cloudnode.zip
다음 포스트에서는 노드js를 이용해서 실시간 접속자 현황을 볼 수 있게 구현할 예정 입니다.
(아래 화면은 현재 사용자가 브라우저를 리로드/리플레시 해야 지만 실시간 접속자를 확인 할 수 있는 구조 입니다)
작업참조내용 server.js
주) 일일 외근 현황이니 리스트없시 해당하는 날짜로만 검색되도록 그누보드 리스트스킨을 변경하는 작업도 필요.
장고로 앱서비스 만들기_2 (0) | 2018.06.06 |
---|---|
장고로 앱 서비스 만들기_1 (0) | 2018.06.01 |
노드js서버로 몽고DB사용해서 CRUD만들기 (0) | 2018.05.16 |
노드js서버로 모놀리식 서비스 만들기 (0) | 2018.05.14 |
노드js서버로 홈페이지 운영하기_1 (0) | 2018.05.03 |
댓글 영역