모바일 환경에서의 웹채팅

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,515
14년 전 조회 1,351
14년 전 조회 1,140
14년 전 조회 1,729
14년 전 조회 1,000
14년 전 조회 951
14년 전 조회 929
14년 전 조회 1,093
14년 전 조회 1,392
14년 전 조회 1,162
14년 전 조회 1,466
14년 전 조회 1,351
14년 전 조회 3,888
14년 전 조회 1,603
14년 전 조회 1,148
14년 전 조회 1,227
14년 전 조회 3,925
14년 전 조회 1,798
14년 전 조회 958
14년 전 조회 1,365
14년 전 조회 852
14년 전 조회 1,438
14년 전 조회 1,098
14년 전 조회 2,879
14년 전 조회 758
14년 전 조회 1,098
14년 전 조회 2,917
14년 전 조회 941
14년 전 조회 971
14년 전 조회 1,216
14년 전 조회 1,222
14년 전 조회 891
14년 전 조회 2,399
14년 전 조회 957
14년 전 조회 1,347
14년 전 조회 460
14년 전 조회 1,202
14년 전 조회 1,170
14년 전 조회 1,253
14년 전 조회 3,032
14년 전 조회 696
14년 전 조회 964
14년 전 조회 1,025
14년 전 조회 1,543
14년 전 조회 1,460
14년 전 조회 2,472
14년 전 조회 1,881
14년 전 조회 1,438
14년 전 조회 1,636
14년 전 조회 3,233
15년 전 조회 1,871
15년 전 조회 1,364
15년 전 조회 1,456
15년 전 조회 1,152
15년 전 조회 1,032
15년 전 조회 995
15년 전 조회 1,366
15년 전 조회 957
15년 전 조회 1,347
15년 전 조회 1,061
15년 전 조회 901
15년 전 조회 1,155
15년 전 조회 1,273
15년 전 조회 1,003
15년 전 조회 1,518
15년 전 조회 1,231
15년 전 조회 1,554
15년 전 조회 1,246
15년 전 조회 1,159
15년 전 조회 1,240
15년 전 조회 3,709
15년 전 조회 1,048
15년 전 조회 2,229
15년 전 조회 3,701
15년 전 조회 1,652
15년 전 조회 1,582
15년 전 조회 2,290
15년 전 조회 1,465
15년 전 조회 1,469
15년 전 조회 1,691
15년 전 조회 1,178
15년 전 조회 2,014
15년 전 조회 1,532
15년 전 조회 1,144
15년 전 조회 1,293
15년 전 조회 1,078
15년 전 조회 1,547
15년 전 조회 926
15년 전 조회 2,135
15년 전 조회 1,134
15년 전 조회 973
15년 전 조회 1,431
15년 전 조회 1,423
15년 전 조회 1,365
15년 전 조회 1,520
15년 전 조회 1,173
15년 전 조회 1,127
15년 전 조회 1,751
15년 전 조회 1,285
15년 전 조회 929
🐛 버그신고