웹소켓에 대해서 잘 아시는분 계신가요?
본문
안녕하세요 Rido입니다.
간만에 돌아와서 한다는 짓이란게 질문질이네요 -_-;;;
node.js에서 soket.io인가요? 같은 기능을 php에서 만들어 주는게
검색해보니 채팅기능으로 만들어진게 몇몇개 보이긴 하더군요
제가 무식하고 아는게 없어 몇가지 질문좀 드리려고 합니다.
1. 웹소켓을 이용하면 소켓통신을 이용해서 클라이언트에서 서버단으로 통신을 계속 물고있지않고
서버단에서 값이 변경되었을때 클라이언트쪽 화면을 제어가 가능한지 여부 입니다.
2. ajax로 기본간격으로 서버와 디비값을 체크하는 방법은 디비서버에 많은 부담을 주게되려나요?
3. 소켓방식이라고 해도 서버와의 통신은 해야할듯 한데 아래 ajax방식에 비해 트레픽이 많이 감소되나요?
## php웹소켓에 대해서 무식하고 아는게 없는 저도 이해가 가능한 초보적인 설명이 잘되어있는 좌표가 있다면 부탁드립니다.
항상 두서없이 질문을 남기는것같아 죄송하지만
설명은 좀 찰떡같이 부탁드립니다 -_-;;; (응??)
읽어주셔서 감사드립니다.
답변 4
저도 잘몰라서 검색으로 몇개 찾아봤습니다.
1. 이론
https://d2.naver.com/helloworld/1336
2. 실예 (배달의민족)
http://woowabros.github.io/woowabros/2017/09/12/realtime-service.html
3. PHP 소스 예제 질문이었네요
https://code-examples.net/ko-kr/q/dd7036
3. 샘플(번역)
[ 저도 이 질문 궁금합니다. ]
버튼이 필요합니다.
답변이 아니라서 미안합니다~^^
얇팍한 지식으로는 트래픽 보다는 메모리 소모가 클 듯 싶습니다.
node.js에서 soket.io인가요? 같은 기능을 php에서 만들어 주는게
검색해보니 채팅기능으로 만들어진게 몇몇개 보이긴 하더군요
=> 자바스크립트를 사용하지 않고, 오직 PHP로만으론 쌍방향 통신이 되는 웹소켓을 열 수 없습니다.
=> PHP소켓은 한번 접속되어 값을 가져오고 웹 브라우져에 내용이 뿌려질때 끊어집니다.
1. 웹소켓을 이용하면 소켓통신을 이용해서 클라이언트에서 서버단으로 통신을 계속 물고있지않고
서버단에서 값이 변경되었을때 클라이언트쪽 화면을 제어가 가능한지 여부 입니다.
=> 네. 가능합니다.
2. ajax로 기본간격으로 서버와 디비값을 체크하는 방법은 디비서버에 많은 부담을 주게되려나요?
=> 매초당 값이 다른지를 서버에 요청하면 HTTP 통신 오버헤드와 디비를 계속해서 SELECT 하기 때문에 웹서버 및 디비서버 둘다 부담이 됩니다.
3. 소켓방식이라고 해도 서버와의 통신은 해야할듯 한데 아래 ajax방식에 비해 트레픽이 많이 감소되나요?
=> 트래픽이 HTTP ajax 에 비해 엄청나게 감소됩니다. HTTP 통신규약에 따른 헤더는 생각보다 용량이 많습니다.
=> 그리고 데이터가 변경되든 안되는 계속 요청하는것과 데이터가 변경되었을때만 짧막한 메세지를 보내는것만 비교해도 트래픽 절감은 꽤 됩니다.