머리속에서 굴리자니 면적이 부족해서,,
말로 풀어서 벌려놓으면,,
좀 더 개요가 잘 드러날거 같아서..


음.. 기존에 그니까
채팅 이거 방식이
1초 또는 그 이하의 주기로 서버에 접속해서 filesize로 채팅내용이 저장된 파일크기를 재고
기존크기와 다르면 새글 올라온걸로 판단해서
새파일크기 가지고 들어와서 새글 읽는 과정으로 넘기고
..
방문자 목록은 또 따로 주기적으로 체크하고...
글쓰는부분 빼고, 요거만 세개가 따로따로 갔는데,

요걸 하나로 통합하면,, 좀 더 안정적으로 되지 않을까,, 하는 구상
filesize재서 크기가 다르면, 클라이언트로 끌고 들어오지 않고, 서버에서 그 즉시 새글 읽는 과정으로 가고,
.... 파일크기하고 새글부분을 구분자등으로 구분해서 가지고 들어오면
우선 두개는 통합될수 있겠는데,

방문자 목록은 1초 또는 그 이하의 주기로 새글 확인하는데,
그때마다 방문자목록 파일을 까뒤집는게... 뭔가 좀 소모적인것도 같고..

지금 방문자가 채팅방을 나갔을때, 거기 방문자목록에서 그 방문자기록이 빠져야 하니까,
filemtime으로 방문자목록파일 수정된게 있으면, 그때만 어떻게 처리하는 방향은
영 맞질 않고,,
자바스크립트에서 onunload에 이벤트거는게 쉽지만, FF 에서는 안돼고...

지금 불안정해서 문제가 되는 부분이 방문자 목록이고...


쇠똥이와 개똥이가 있다가
쇠똥이가 방을 나갔으면,
개똥이 혼자 있는걸로 표시돼야 하는데,
그러자니 방문자 목록에서 쇠똥이가 빠져야하고,
쇠똥이는 먼저 나갔으니까,,
방문자목록에서 쇠똥이가 빠지는건 개똥이가 접속했을때 서버에서 처리해야하는 것이고.
개똥이가 접속했을때 쇠똥이를 뺀다.....

현재는 기존 2.7초 (수정후 3.5초) 간격으로 주기적으로 접속하게 해서,
시간과 이름을 기록해서, 기록된 시간이 5초(4초/3초)이전의 것이면 삭제하도록 하고 있는데,,
조금 불안정한 모습을 보인다.

쇠똥이가 방문자목록에 마지막으로 접속해서 기록한 시간이 10시10분10초라면,
개똥이가 만약 10시10분13초에 거기 접속했을때, 5초 이전의 기록은 삭제하도록 하고 있으니까, 그때까진 쇠똥이 기록이 삭제되지 않고, -- 짤리는거건 8초이전까지.
개똥이가 3.5초 약 4초 이후에 10시10분17초에 접속했을때, 12초 이전이 짤리니까 쇠똥이의 목록이 그때 사라지도록 되어 있다.
쇠똥이가 만약에 나가지 않았다면 13초~14초에 다시 접속해서, 시간을 갱신하게 되니까 12초로 짜를때,,
짤리지 않게되는데,,,
이게 이론상으론 문제가 없는데, 실제로는 가끔 깜빡깜빡한다...

되도록 출입상황을 빨리 반영하도록 해야 하면서,,,
착오/오류 깜빡임없이 안정적으로 반영해야 하는데,,,,

만약에 3초주기/5초로 짜른다고 했을때
쇠가 0---3---6---9
개가 --2---5---8---11
로 접속한다고 하면,
개가 접속한 5초에 접속했을때, 이전 5초를 짜르니까, 0초를 마지노선으로 해서,
쇠의 경우는 3초에서 여유간격 2초.
개 본인의 경우는 2초에서 여유간격 3초.
충분히 여유간격이 되는거 같은데,, 가끔가다 문제가 생기곤 한다.

4초주기/6초기준으로 짜른다면,,
0---4---8---12---16---20---24---
-1---5---9---13---17---21---25---
--2---6---10---14---18---22---26---
---3---7---11---15---19---23---27---

7에서 짜를때, 7 - 6 =1
1 ~ 7초 사이에 접속이 없는걸 짜르니까
4- 여유 3/3초 앞으로 3, 뒤로 3
5- 여유 4/2
6- 여유 5/1
3- 여유 0/4

3초주기라면
0---3---6---9---12---15---18---21---
-1---4---7---10---13---16---19---22
--2---5---8---11---14---17---20---23
8초에서 5초기준으로 짜른다면
3 ~ 8초사이 접속없는 경우 짜르게 되니까
6- 3/2
7- 4/1
5- 0/3

접속간격을 일정하게 소스에 정해놨더라도, 실제로는 여건에 따라서
간격이 고무줄처럼 늘어날수가 있으니까,,
뭔가 좀 넉넉하게 해놓을 필요가 있는거다.


근데 어떻할까,,
음.. filesize 접속 세번에 한번꼴로 방문자목록 뒤엎는 방식?


filesize접속은 1초마다 되니까
서버에서 filesize체크해서 새글 올라왔으면 새글 읽어들이면서
filesize접속이 1,2,3 이렇게 횟수를 재서, 3번째면, 방문자목록을 갱신하는 방식..

음..
by Anna 안나 2008. 5. 26. 18:00