웹소켓에 대해서 잘 아시는분 계신가요?

웹소켓에 대해서 잘 아시는분 계신가요?

QA

웹소켓에 대해서 잘 아시는분 계신가요?

본문

안녕하세요 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. 샘플(번역)

http://html5korea.com/%EC%9B%B9%EC%86%8C%EC%BC%93websocket-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0%EA%B0%95%EC%9D%98%EB%B2%88%EC%97%AD/

이상한 질문이라뇨 ^^
전혀 이상하지 않은 질문입니다.
단지, 잘 접하지 않는 분야라서  늘 새로운분야를 추구하시는 것 같아서
멋지네요 , 원하시는 답들을 찾으시길 바래요, 화이팅~

배달의민족건을 좀 읽어봤더니 역시나 생각대로 socket.io를 쓰더라도 트레픽에 대한 고민은 따로 해야하는듯 하네요...

뭐 이거 이러면 그냥 ajax로 만드는게 속편하지 않을까 싶기도 합니다.

대발의민족을 읽어본 생각으로는 제가 개발하려고 하는 시스템은 그리 복잡한것도 아니고
클라이언트는 서버의 부하를 줄여보자는 의도가 더 강한것 같아
그냥 이벤트 밣생시 json파일을 생성하고 생성한 json파일을 ajax로 초당 루프를 돌리는게
더 좋아 보입니다. (클라이언트야 죽건말건 -_-;;; 제알바가 아닌거죠 응??)

특정 이벤트를 한명이 발생시키면 그 이벤트에따라 접속자의 화면을 제어해야 하는 시스템이라
클라이언트의 리플래시에 따른 트레픽을 막아보자는 의미가 강한 프로젝트 입니다.

일단 한번 읽어봐 주시고 좋은 아이디어 있으시면 의견 부탁드립니다.
관심가져 주셔서 감사드립니다.

[ 저도 이 질문 궁금합니다. ]

버튼이 필요합니다.

 

답변이 아니라서 미안합니다~^^

얇팍한 지식으로는 트래픽 보다는 메모리 소모가 클 듯 싶습니다.

 

아... 메모리라 하심은 서버단 메모리를 이야기 하시는건가요?
그럼 디비서버를 파이어베이스라던가 이런걸 이용하게 되면 2번째 방식도
그리 문제가 되진 않는다는 이야기이신건가요??

node.js에서 soket.io인가요? 같은 기능을 php에서 만들어 주는게 
검색해보니 채팅기능으로 만들어진게 몇몇개 보이긴 하더군요
=> 자바스크립트를 사용하지 않고, 오직 PHP로만으론 쌍방향 통신이 되는 웹소켓을 열 수 없습니다.
=> PHP소켓은 한번 접속되어 값을 가져오고 웹 브라우져에 내용이 뿌려질때 끊어집니다.

 

1. 웹소켓을 이용하면 소켓통신을 이용해서 클라이언트에서 서버단으로 통신을 계속 물고있지않고
서버단에서 값이 변경되었을때 클라이언트쪽 화면을 제어가 가능한지 여부 입니다.
=> 네. 가능합니다.

 

2. ajax로 기본간격으로 서버와 디비값을 체크하는 방법은 디비서버에 많은 부담을 주게되려나요?
=> 매초당 값이 다른지를 서버에 요청하면 HTTP 통신 오버헤드와 디비를 계속해서 SELECT 하기 때문에 웹서버 및 디비서버 둘다 부담이 됩니다.

 

3. 소켓방식이라고 해도 서버와의 통신은 해야할듯 한데 아래 ajax방식에 비해 트레픽이 많이 감소되나요?
=> 트래픽이 HTTP ajax 에 비해 엄청나게 감소됩니다. HTTP 통신규약에 따른 헤더는 생각보다 용량이 많습니다.

=> 그리고 데이터가 변경되든 안되는 계속 요청하는것과 데이터가 변경되었을때만 짧막한 메세지를 보내는것만 비교해도 트래픽 절감은 꽤 됩니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 114
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT