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

모바일 환경에서의 웹채팅

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

게시글 목록

번호 제목
20318
20317
20316
20315
20314
20313
20312
20311
20310
20309
20308
20307
20306
20303
20302
20301
20300
20299
20298
20297
20296
20295
20294
20293
20292
8222
20291
20290
20289
20288
20287
20286
20285
20284
20283
20282
20281
20280
20276
20275
20274
20273
8216
20272
20271
20270
20269
20268
20267
20265
20264
20263
20262
20261
20259
20258
20257
20256
20255
20254
20253
20252
20251
20250
20249
31028
20248
20247
20246
8215
20245
20244
20243
20242
20241
20240
20239
20238
20237
20236
20235
20234
20233
8197
20232
20231
20230
20229
20228
20227
20225
20224
20223
20222
20221
20220
20219
20218
20217
20216