테스트 사이트 - 개발 중인 베타 버전입니다

채팅 서버 + 클라이언트

· 11년 전 · 16091 · 15
demo.png
데모 사이트 http://www.phprocks.com/?page=chat

다운로드 링크 : http://phprocks.com/?module=post&action=view&seq=373


-- 서버쪽 ---
채팅 서버를 설치하기 위해 node.js를 설치해야 합니다.

node.js 다운로드 사이트 : http://nodejs.org

설치가 완료되시면,

1. 서버로 사용하실 곳에 server.js를 복사 합니다.

2. (변경) Socket.io 가 1.0으로 버전 변경이 되면서 각 메소드의 변경이 많아 기존 소스와 호환이 되지 않는 점 발견 하였습니다. 변경된 부분이 많아 새로운 버전으로 일괄적으로 변경하기는 어려울 듯 하며, 이 부분은 새로운 채팅 소스 제작시(좀 더 업그레이드 된 기능들 ) 적용할 예정입니다. 이 소스를 사용하는 경우 기존 버전의 socket.io 소스(0.9.16)를 다운 및 설치 할 수 있도록 package.json을 추가 하였으며, 설치 방법은 다음과 같습니다.
npm install

위 명령어로 socket.io와 forever 모듈이 자동 설치 됩니다.


3. server.js의 var io = require('socket.io').listen(1597)에서 1597를 사용하려는 포트로 변경하십시오.

4. server.js를 forever 모듈을 사용하여 실행 합니다.

forever start server.js

forever 모듈을 사용하는 이유는 node 서버가 죽지 않고 계속 실행되게 하기 위해서 입니다.



-- 클라이언트 쪽 --

1. chat.php와 chat_room.php의 소스에서 localhost 부분을 채팅 서버(server.js)가 실행되고 있는 주소 및 포트로 로 변경하세요.
예) http://123.123.123.123:5555

2. 그누보드와 연동 할 시 chat_room.php의 소스 중 아래의 부분을 $member 배열의 적절한 값으로 변경하시면 됩니다.

if ( $_SESSION['user_id'] ) { // 회원 로그인 계정과 연동 하실려면 이 부분을 수정하세요
$nickname = $_SESSION['nickname'];
$account = $_SESSION['username'];
}

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 15개

11년 전
안녕하세요,
버그를 찾아 주셔서 감사합니다. 관련 부분은 특수 문자를 포함 하지 않도록 영문, 숫자, 한글만 추출하여 방생성 할 수 있도록 코드를 수정하였습니다.

변경된 사항은 새로 업데이트 하였습니다.

감사합니다.
xe 에도 독립적으로 달수있을까요?
11년 전
안녕하세요, 답변이 많이 늦었네요.
해당 소스의 경우, 그누보드를 염두해서 만든 것은 아닙니다. 그렇다보니 어느 사이트든지 쉽게 연동 할 수 있습니다.
다만 위에서 설명한 회원 정보 관련(세션이든지, 쿠키던지, 아니면 회원 정보를 담고 있는 배열)만 적절하게 변경하시면 사이트의 회원들의 계정으로 쉽게 연동 하실 수 있습니다.

xe는 사용해본적은 없지만, xe로 분명 앞서 설명한 부분이 있을 것이구요 로그인 계정 정보를 서로 연결 시키시면 됩니다.

감사합니다.
10년 전
설치하고 테스트중인데요 누군가 방을 만들었는데 입장이 안되는건 왜그런건가요? 혼자 방 만들어서 채팅은 잘 됩니다.
어떻게 설치하나요?