테스트 사이트 - 개발 중인 베타 버전입니다

모바일 환경에서의 웹채팅

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 이 미지원이라고 나오네요.
정보가 잘못된건지.. 장비가 없으니 테스트가 불가하군요.

게시글 목록

번호 제목
32341
32339
32326
32325
32322
32319
32318
32316
32315
32313
32312
32311
32310
32304
32303
32300
32293
32292
32291
32285
32284
32275
32271
32268
32265
32261
32258
32257
32255
32254
32253
32251
32250
32249
32247
32246
32245
32244
32243
32242
32241
32240
32239
32238
32237
32236
32232
32229
32228
32227
32217
32215
32214
32213
32211
32207
32196
32193
32192
32190
32188
32186
32184
32173
32172
32171
32167
32165
32163
32162
32158
32157
32155
32151
32149
32135
32132
32127
32125
32122
32120
32119
32117
32116
32115
32114
32112
32111
32109
32107
32104
32103
32102
32101
32094
32089
20404
31036
8279
8268