모바일 환경에서의 웹채팅

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,578
15년 전 조회 1,407
15년 전 조회 1,200
15년 전 조회 1,780
15년 전 조회 1,045
15년 전 조회 1,006
15년 전 조회 982
15년 전 조회 1,150
15년 전 조회 1,441
15년 전 조회 1,216
15년 전 조회 1,521
15년 전 조회 1,414
15년 전 조회 3,945
15년 전 조회 1,660
15년 전 조회 1,202
15년 전 조회 1,279
15년 전 조회 3,978
15년 전 조회 1,857
15년 전 조회 1,010
15년 전 조회 1,424
15년 전 조회 909
15년 전 조회 1,495
15년 전 조회 1,161
15년 전 조회 2,937
15년 전 조회 813
15년 전 조회 1,159
15년 전 조회 2,967
15년 전 조회 993
15년 전 조회 1,033
15년 전 조회 1,266
15년 전 조회 1,280
15년 전 조회 946
15년 전 조회 2,460
15년 전 조회 1,005
15년 전 조회 1,401
15년 전 조회 511
15년 전 조회 1,259
15년 전 조회 1,226
15년 전 조회 1,306
15년 전 조회 3,085
15년 전 조회 748
15년 전 조회 1,013
15년 전 조회 1,068
15년 전 조회 1,593
15년 전 조회 1,515
15년 전 조회 2,522
15년 전 조회 1,935
15년 전 조회 1,481
15년 전 조회 1,689
15년 전 조회 3,277
15년 전 조회 1,920
15년 전 조회 1,414
15년 전 조회 1,504
15년 전 조회 1,218
15년 전 조회 1,085
15년 전 조회 1,048
15년 전 조회 1,425
15년 전 조회 1,004
15년 전 조회 1,398
15년 전 조회 1,108
15년 전 조회 951
15년 전 조회 1,206
15년 전 조회 1,329
15년 전 조회 1,061
15년 전 조회 1,573
15년 전 조회 1,278
15년 전 조회 1,602
15년 전 조회 1,303
15년 전 조회 1,204
15년 전 조회 1,290
15년 전 조회 3,762
15년 전 조회 1,100
15년 전 조회 2,283
15년 전 조회 3,746
15년 전 조회 1,707
15년 전 조회 1,638
15년 전 조회 2,349
15년 전 조회 1,518
15년 전 조회 1,521
15년 전 조회 1,747
15년 전 조회 1,222
15년 전 조회 2,058
15년 전 조회 1,582
15년 전 조회 1,196
15년 전 조회 1,340
15년 전 조회 1,133
15년 전 조회 1,596
15년 전 조회 975
15년 전 조회 2,182
15년 전 조회 1,185
15년 전 조회 1,028
15년 전 조회 1,482
15년 전 조회 1,479
15년 전 조회 1,413
15년 전 조회 1,571
15년 전 조회 1,235
15년 전 조회 1,183
15년 전 조회 1,803
15년 전 조회 1,332
15년 전 조회 980