웹상에서 실시간 방문자을 보여주는 signed applet 입니다.
회사에서 이부분을 제작했었는데...
지금은 거기서 짤린관계로........흑......
하여튼, 목표는 다음카페에 있는 것 처럼 실시간 쪽지를
보내는것까지 해보려고 했는데......
우선 이것으로 각 방문자를 [awt]에 [list] 클래스를 이용해서 웹브라우저와 서버에 교신을 통해 방문자 데이터를 교환합니다. 당연히 소켓을 이용하였습니다.
우선, 사용자가 들어오고, 나오는것을 체크하여 서로 공유하는 기본적인 서비스모델을 구축한것이니....이소스를 이용하여 더욱 상업적인 소스를 만들어서 많이들 공유합니다.
그리고, signed applet을 만드는 법은 다른 문서를 참고 하시여 만들어 보시고요. 상업적인 용도로 쓸러면 activeX를 사용해야 잘 먹히는 것으로 알고 있습니다. 이부분에 서비스 모델을 제가 부족합니다.
1. jar 로 class들 묶이.
2. 암호키만들기.
3. 암호키에서 만들어진 공개키로 jar를 사인한다.(신성화한다)
4. 그것을 배포한다.(애플릿을 통하던 ...기타등등)
위에 방식대로 하는데, 넘 주저하시지 마시고, 그냥 자세히 설명하고 있는 문서에 나와있는대로 따라해 보세요. 하고 나면, 왜 이런 지랄 하는지 감이 잡힙니다.
제소스에 포시면 applet 폴더 아래에 'storestore'(암호키저장소)및 생성된 공개키등 같이 들어 있습니다.
참고 사항:
방관리는
<PARAM NAME = "UserID" VALUE="<%= userID %>"> 라는 플러그인부분및에
<PARAM NAME = "UserGroup" VALUE="<%= userGroup %>">
위와 같이 만들어서 애플릿부분에서 init() 부분에서 변수로 받는 부분을 만들어서 처리하면 될것입니다. 서버에선 그룹(방)관리를 하도록 처리하도록 코딩했으나, 실행은 안해 봤으니.....해보시고, 고쳐쓰세요.
그리고 applet 폴더 안해 쓸잘 때기 없는게 많던데 그중에 아래것만 있으면 됨니다.
VirtualCheck.java ---- > 애플릿 라이프사이클 부분
Passage.java -----> 애플릿에 부분으로 서버와 통신하는부분.
VirtualChkServer.java -----> 서버입니다.
MsgReceiver.java -----> 서버에서 애플릿과 통신하는부분입니다.
개선사항:
다른 선랑한 기술에 앞서서 아까운 소켓자원을 아껴쓰기위해서 스레드풀을 이용해 보세요. 그리고, 익스플로어서 IFrame 태그를 써서. 이소스를 적용할 웹페이지는 가능하면, frame을 써서 만들어서....전체 페이지를 다시 읽게 하는 빈도를 줄이는 것도 한가지 방법일 것입니다. 그렇게 안하고, table만을 이용한 페이지를 만든다면, 애플릿도 첨으부터 다시 초기화가 이루워져야 하기때문입니다. 그러니, 서버나, 클라이언트나(부라우져나) 계속 소켓을 죽여다, 살렸다 하니깐 얼마나 자원 낭비가 심합니까.....
나중에 잊어먹으면 이 문서보고 다시 되 집어야지 겠습니다. 두서가 없지만.