XE 공식 자료실

제작자
srboard
등록일
2010-10-26
다운로드 수
283
링크1
srboard.styx.kr

http://srboard.styx.kr/xe/
위 링크에 사용된 채팅소스입니다.
ajax를 사용하고,
사용자의 계정에 직접 설치해서 사용하는 것입니다.
채팅 데이타는 ./widgets/srchat/chat/ 경로에 저장되기 때문에,
이 디렉토리를 FTP에서 777 또는 707로 권한설정해줘야 합니다.

라이선스
GPL v2
설치경로
./widgets/srchat
최초 등록일
2010-10-24
전체 다운로드
13,616
체험하기

쉬운설치로 바로 체험할 수 있습니다

상세 설명

srchat XE용 위젯 v199 1차수정 입니다.

 

다운로드 : http://pds18.egloos.com/pds/201010/31/03/srchat_XE_v199.1.rar
링크주소 : http://srboard.egloos.com/10598958
예제 : http://srboard.styx.kr/xe/
예제 : http://srboard.styx.kr/xe/vvvv  (예제는 언제든지 삭제될 수 있습니다)

 
여러모로 부족하니까,
잘 아시는 분이 수정해서 다시 배포하셔도 됩니다.
다만, srchat.php소스에 원제작자 표시만 지우지 말아주세요.


 

<img class="zbxe_widget_output" widget="srchat" skin="default" chtsrchat="w200" chtwidth="190px" chtheight="30mm" cht_contwh="85mm" cht_usrwh="15mm" chtisbr="Y" cht_fsize="8" cht_family="Gulim" cht_usecolor="1" chtmemberonly="N" />
 
위젯 코드를 붙여넣기 할 때는
• chtheight="30mm" :
30%를 지칭하는데,%가 저기에 들어가면, 스킨으로 %라는 기호가 전달이 안됩니다.
그래서, 이것저것 해보다가 mm로 정했습니다.
mm로 전달된 값은 자바스크립트에서 % 로 변환됩니다.
 
이 두가지 제한사항은 페이지수정에서 위젯코드를 직접 만들 때는 해당되지 않습니다.
<img ~~> 이렇게 생성해서, 붙여넣기 할 때만 문제가 됩니다.
설치방법
widgets/srchat/chat 폴더의 권한을 FTP에서 777, 또는 707로 줍니다.
이후에 위젯코드를 생성하고,
관리자기능 링크를 열어서, [ install ] 버튼을 누르면 됩니다

capture148.png

귓속말, 1:1대화 기능이 있고,

관리자는 사용자를 강퇴시킬수 있습니다.

 

채팅 관리자기능 :

capture149.png

관리자 또는 위젯코드설정에서 채팅방 관리자로 지정된 회원에게만 보여지는

관리지기능입니다.

 

 

채팅 데이타

capture153.png

 

채팅 데이타는 파일로 저장됩니다.

그래서 최초 설치시

./widgets/srchat/chat 폴더의 권한을 707 또는 777로 줘야 합니다.

그 안에 '암호폴더'가 생성되고,

그 암호폴더안에 채팅방 아이디의 폴더가 생성되고,

채팅 데이타는 그 안에 저장됩니다.

 

데이타 보안은 '암호폴더'의 이름과

위 목록에 .htaccess 파일이 담당합니다. (모든 접근을 야후로 돌려버리는 내용)

 

그래서 채팅 첨부파일에 확장자제한이 없고,

첨부파일은 모두 채팅소스가 대신 읽어서, 이미지는 뿌리고 나머지는 다운로드 시키는 방식입니다.

 

채팅본문은 _data 폴더에 01~90까지의 파일이름에 돌아가면서 순차적으로 기록됩니다.

최신 글번호도 기록되고,

그리고, 각 사용자가 읽어간 번호가 기록되어서

다음에 또 읽어갈 때 최근 글번호와 그 사용자가 읽어간 번호를 비교해서 처리합니다.

 

 

기타설정:

srchat.php 위쪽에 보면,

$chtlastgap = 10; // 단위는 초, 접속여부 판단하는 현재시간-마지막접속시간 간격
$chtemptgap = 0; // 단위는 초, 자리비움에서 이 시간이 지나면 퇴장으로 판단함 (0:사용안함)
$chtusrinout = 0; // 사용자 입출력상황 본문출력 여부
$chtchange = 1; // 사용자 닉네임변경 본문출력 여부
$chtaway = 1; // 자리비움하고 새로고침 했을 때, 자리비움상태 유지 여부 (0:해제,1:유지)
$chtread = 10; // 처음 접속했을 때, 읽어오는 본문의 갯수 (최대 90)

이런 내용이 있습니다.

 

 

트래픽 :

접속이 끝나고 1.5초 뒤에 다시 서버에 접속을 하는데,

60초*60분/1.5로 나눠도 2400 = 접속에 소요되는 시간 때문에 1시간에 2400회 접속이 이뤄질 수가 없지만 그렇다고 치고,

읽어오는 정보가 없을 때도 헤더정도로 409byte는 소모하게 됩니다.

그래서 그거만 따지면, 1시간에 1사람이 958byte.

 

거기에 1시간 동안 올라온 채팅본문의 크기 + 중간에 닉네임이 변경되거나 했을 때 접속자 목록 다시 읽어오는 것

+ 전체대화(백업된 기록) 살펴보는 것

합치면,

대충 1인당 1시간에 1mb 가량 소모하지 않을까 예상해봅니다.

 

 

사용자구분 :

사용자 구분은 ip로 하는데, 세션아이디로 대신할 수도 있습니다. 

srchat.php 20~21줄
srchat.class.php 44~45줄
에 아래와 같은 내용이 있는데

 

//$chtip = str_pad(str_replace('.','',$_SERVER['REMOTE_ADDR']),12,'x'); /* ip로 사용자구분 할때, 바꾸려면 srchat.class.php 38줄도 */
$chtip = substr(session_id(),0,12); /* ip로 사용자구분 안할때, 바꾸려면 srchat.class.php 39줄도 */

여기에 주석처리를 바꾸면 됩니다.

 

1차수정 (2010-10-31)

str_pad_left 를 STR_PAD_LEFT로 수정
소문자로 표기해도 이상이 없길래,
그렇게 해도 되는줄 알고 있었는데,
특정 서버에서는 대문자로 표기해야만 인식하는 것을 이번에 확인하고 수정했습니다.

2차수정 (2010-11-06)

srchat 50번줄 수정
$fpc = fopen($chtyd."/_chtntc","w");
이렇게 되어 있던 것을
$ftc = fopen($chtyd."/_chtntc","w");
이렇게 수정했습니다.
그냥 실수가 있었습니다. 

포럼 0

로그인 후 작성할 수 있습니다.