모바일 환경에서의 웹채팅

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 이 미지원이라고 나오네요.
정보가 잘못된건지.. 장비가 없으니 테스트가 불가하군요.
댓글을 작성하시려면 로그인이 필요합니다. 로그인

프로그램

+
제목 글쓴이 날짜 조회
14년 전 조회 1,522
14년 전 조회 1,357
14년 전 조회 1,146
14년 전 조회 1,736
14년 전 조회 1,009
14년 전 조회 958
14년 전 조회 938
14년 전 조회 1,102
14년 전 조회 1,397
14년 전 조회 1,170
14년 전 조회 1,471
14년 전 조회 1,361
14년 전 조회 3,893
14년 전 조회 1,609
14년 전 조회 1,154
14년 전 조회 1,233
14년 전 조회 3,931
14년 전 조회 1,807
14년 전 조회 964
14년 전 조회 1,372
14년 전 조회 859
14년 전 조회 1,444
14년 전 조회 1,105
14년 전 조회 2,884
14년 전 조회 763
14년 전 조회 1,104
14년 전 조회 2,924
14년 전 조회 948
14년 전 조회 978
14년 전 조회 1,221
14년 전 조회 1,227
14년 전 조회 898
14년 전 조회 2,407
14년 전 조회 964
14년 전 조회 1,353
14년 전 조회 467
14년 전 조회 1,207
14년 전 조회 1,176
14년 전 조회 1,260
14년 전 조회 3,037
15년 전 조회 702
15년 전 조회 968
15년 전 조회 1,030
15년 전 조회 1,547
15년 전 조회 1,467
15년 전 조회 2,479
15년 전 조회 1,886
15년 전 조회 1,443
15년 전 조회 1,641
15년 전 조회 3,239
15년 전 조회 1,879
15년 전 조회 1,369
15년 전 조회 1,462
15년 전 조회 1,158
15년 전 조회 1,036
15년 전 조회 1,000
15년 전 조회 1,372
15년 전 조회 962
15년 전 조회 1,355
15년 전 조회 1,066
15년 전 조회 906
15년 전 조회 1,161
15년 전 조회 1,281
15년 전 조회 1,011
15년 전 조회 1,521
15년 전 조회 1,236
15년 전 조회 1,560
15년 전 조회 1,255
15년 전 조회 1,164
15년 전 조회 1,244
15년 전 조회 3,713
15년 전 조회 1,052
15년 전 조회 2,235
15년 전 조회 3,705
15년 전 조회 1,655
15년 전 조회 1,589
15년 전 조회 2,295
15년 전 조회 1,474
15년 전 조회 1,474
15년 전 조회 1,700
15년 전 조회 1,183
15년 전 조회 2,021
15년 전 조회 1,538
15년 전 조회 1,151
15년 전 조회 1,299
15년 전 조회 1,084
15년 전 조회 1,550
15년 전 조회 935
15년 전 조회 2,143
15년 전 조회 1,141
15년 전 조회 979
15년 전 조회 1,440
15년 전 조회 1,430
15년 전 조회 1,371
15년 전 조회 1,526
15년 전 조회 1,181
15년 전 조회 1,134
15년 전 조회 1,757
15년 전 조회 1,291
15년 전 조회 933
🐛 버그신고