모바일 환경에서의 웹채팅

1. 전통적인 웹 reloading 방식 ( polling 방식)  
   - 대부분의 모바일 브라우져에서 사용 가능하다.
   - 부하가 엄청나다. 실시간성을 높이기 위해 reload 간격을 줄이면, 서버가 사망할수 있다.)
     사용자가  채팅을 하던 안하던 채팅 페이지에 사용자가 있으면, 부하가 발생
   - reloading 은 setInterval() 함수나 Ajax를 이용

2. Comet reverse Ajax  + long polling 
   - 대부분의 모바일 브라우져에서 사용 가능하다.
   -  서버 부하가 1보다는 적지만, 접속자가 많은 사이트에는 부하가 어느정도 발생한다.
      사용자가 채팅을 안하면(서버에서 보낼 정보가 없는 경우) 부하가 거의 발생하지 않음
   - reverse Ajax를 구현하기 위해서는 서버프로그래밍을 별도 제작하던가, 이를 지원하는 WAS를 이용해야함

3. HTML5 WebSocket
  - 모바일 웹채팅에선 가장 이상적인 형태
  - 아이폰4, 3GS,  ios4.2 이상의 사파리 브라우져에서 사용 가능
     안드로이드 진저브래드(2.3) 이상의 브라우져에서 사용가능
  -  HTML5는 스펙이 픽스된게 아니라서 중간에 조금 변경가능성이 있음
  - 채팅 뿐만 아니라 실시간 데이타가 필요한 여러 웹어플에서 사용가능(챠트, 주식현황, 웹게임등)
  - WebSocket을 지원하는 웹브라우져가 별로 없고, 서버쪽 컨트롤이 만만치 않음
     (클라이언트쪽 브라우져는 코드가 매우 심플해짐 onConnect, onMessage, onDisconnect 정도를 구현하면 됨)

4. 별도 앱방식
   - 소켓 프로그램으로 구현
   - 앱 만드는데 오랜 시간이 소모,

결론 : 
- 별도의 앱으로 만드는게 좋긴한데, 완성된 형태를 만들기 어려움(포기)
- Comet 방식도 괜찮긴 한데, 동시접속자 100명-200명이 한계로 보여짐, 그 이상에선 대책없음
- 올해/내년에는 대부분의 스마트폰(탭)에서 지원 가능함으로 3번이 정답.

ps) 1. 삽질에 개고생한게 아까워서 남겨둠(자료)
      2. 조만간 아이폰/진저폰에서도 웹톡 채팅 사용 가능(이것 때문에 이고생을..)
     
|

댓글 5개

예전 한 5년전쯤에 어떤채팅위젯(이름이 생각안나네요) 있었어요.
JRE 를 깔아야만 동작되었고 무튼 그랬는데 10USER / 1달 = 3000원 이 가격이었는데.

무튼 제대로 된 프로그램이라면
if(모바일){
//웹소켓
}
else if(플래시 enabled){
//플래시 소캣
}
else if(ajax enabled){
//서버사이드 푸쉬 (지속적 리로딩) -- append child.
}
else{
//페이지 리로딩 방법이 있긴한데 적용이 불편하므로 지원안함.
}
페이스북은 ajax -- append child. 이군요.

웹톡 괜찮은거 같아요. 세팅보다는 소스코드 위젯형이 괜찮을 거 같은데
ajax long polling 인걸 봐서 서버는 2번 형태로 구현되어 있을것 같습니다.

위젯형은 한번 고려해보겠습니다.
진저브레드 에물레이터에선 websocket 이 미지원이라고 나오네요.
정보가 잘못된건지.. 장비가 없으니 테스트가 불가하군요.
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
15년 전 조회 1,605
15년 전 조회 1,439
15년 전 조회 1,230
15년 전 조회 1,816
15년 전 조회 1,087
15년 전 조회 1,048
15년 전 조회 1,017
15년 전 조회 1,177
15년 전 조회 1,472
15년 전 조회 1,250
15년 전 조회 1,561
15년 전 조회 1,442
15년 전 조회 3,983
15년 전 조회 1,693
15년 전 조회 1,229
15년 전 조회 1,316
15년 전 조회 4,013
15년 전 조회 1,878
15년 전 조회 1,040
15년 전 조회 1,450
15년 전 조회 947
15년 전 조회 1,527
15년 전 조회 1,193
15년 전 조회 2,963
15년 전 조회 837
15년 전 조회 1,189
15년 전 조회 3,000
15년 전 조회 1,025
15년 전 조회 1,061
15년 전 조회 1,297
15년 전 조회 1,307
15년 전 조회 984
15년 전 조회 2,493
15년 전 조회 1,039
15년 전 조회 1,434
15년 전 조회 542
15년 전 조회 1,286
15년 전 조회 1,260
15년 전 조회 1,343
15년 전 조회 3,118
15년 전 조회 777
15년 전 조회 1,046
15년 전 조회 1,095
15년 전 조회 1,623
15년 전 조회 1,542
15년 전 조회 2,558
15년 전 조회 1,966
15년 전 조회 1,523
15년 전 조회 1,725
15년 전 조회 3,314
15년 전 조회 1,959
15년 전 조회 1,449
15년 전 조회 1,535
15년 전 조회 1,247
15년 전 조회 1,119
15년 전 조회 1,080
15년 전 조회 1,455
15년 전 조회 1,045
15년 전 조회 1,428
15년 전 조회 1,145
15년 전 조회 985
15년 전 조회 1,239
15년 전 조회 1,366
15년 전 조회 1,091
15년 전 조회 1,603
15년 전 조회 1,306
15년 전 조회 1,640
15년 전 조회 1,332
15년 전 조회 1,240
15년 전 조회 1,320
15년 전 조회 3,786
15년 전 조회 1,140
15년 전 조회 2,315
15년 전 조회 3,783
15년 전 조회 1,735
15년 전 조회 1,674
15년 전 조회 2,385
15년 전 조회 1,547
15년 전 조회 1,546
15년 전 조회 1,781
15년 전 조회 1,238
15년 전 조회 2,092
15년 전 조회 1,610
15년 전 조회 1,235
15년 전 조회 1,372
15년 전 조회 1,163
15년 전 조회 1,632
15년 전 조회 1,012
15년 전 조회 2,215
15년 전 조회 1,212
15년 전 조회 1,070
15년 전 조회 1,507
15년 전 조회 1,506
15년 전 조회 1,448
15년 전 조회 1,611
15년 전 조회 1,260
15년 전 조회 1,204
15년 전 조회 1,840
15년 전 조회 1,366
15년 전 조회 1,009