1. 강퇴당했을때, 채팅방목록으로 돌아왔다가, 재차 클릭했을때
기존엔 화면에 x 글자 하나 있었는데, 다시 채팅방목록으로 되돌아오도록(자바스크립트로) 수정했습니다.

2. 금칙어 서버에서 처리하던걸, 자바스크립트로 되도록 바꿨습니다.
서버부하를 줄이고, 서버의 처리속도를 올리기 위해서.

3. 중복되는 내용 막는걸, 서버에서가 아니라 자바스크립트로 클라이언트에서 이뤄지도록 바꿨습니다.
역시 서버부하를 줄이고, 서버의 처리속도를 올리기 위해서.

4. 71버전에서 "채팅방아이디_순번" 형태였던 $_SESSION[$id] 값을 "_순번" 형태로 바꿨습니다.
줄어든만큼 트래픽이나 처리속도가 좋아집니다.

5. 체감속도를 빠르게하기 위한 여러가지 조치가 있었습니다.
체감속도를 빠르게하면서 또한, 안정적으로 동작하게 하기 위해서
자바스크립트의
new Date(); getTime(); 함수를 이용해서 1/1000 초까지 측정한 값을 사용합니다.

글을 확인하고-읽어오는 주기가 있는데
소스의 6번줄 $refresh = 1000; 이 값입니다. = 1초.
글을 확인하고 setTimeout으로 다시 호출하면서, 그 시점의 시간 + $refresh 값을 어딘가 저장합니다.

글을 작성완료했을때, 역시 그 시점의 시간을 재서,
앞서 저장된 시간(= 새글확인할 예정시간)이 가까우면(=0.25초 이하) 그냥 기다리고,
멀면(=0.25초 초과) 그 즉시 새글확인하는 함수를 호출합니다.

이렇게해도 같은 내용이 중복출력되는 등의 문제가 있길래,
글을 올린시점의 시간을 어딘가에 저장하고, = 새글확인을 호출한 시간
다시 글을 작성완료했을때의 시간이 먼저번에 작성완료한 시간에 너무 가까우면(0.35초이하)
새글확인하는 함수를 호출하지 않도록 했습니다.

소스의 586줄에 "350" 이란 숫자가 그겁니다.

하여튼 투다다닥하고.. 예제에서 테스트해봤더니,,
내용이 중복출력되었을때는 새로고침하면 줄수가 줄어드는데,,
그런 문제가 더이상 안보이더군요...

mysql 안쓰고, php파일 하나로 돌아갑니다.
압축풀어 폴더채로 업로드하고, chat폴더권한 777주고(설치끝),
index.php에 접속해서 사용하면 됩니다.
by Anna 안나 2008. 5. 26. 18:03