2017-10-13 6 views
0

socket.io를 사용하여 node.js에 멀티 룸 채팅 응용 프로그램을 만들고 익스프레스하려고합니다. 나는 서버 포트와 웹 소켓 포트를 혼동한다. 나는 서버 포트가 클라이언트가 서버에 연결하는 데 사용되는 것을 알고 있습니다. 그러나 websocket 포트의 사용에 대해서는 확실하지 않습니다.node.js 채팅 응용 프로그램의 서버 포트와 websocket 포트의 차이점

감사 & 감사합니다 ..

답변

0

서버 소켓 서버 ... 루프에서 소켓 요청을 오는 듣고 계속 데 사용됩니다 ... 그리고 웹 소켓은 두 장치 사이의 연결을 서버 소켓에 요청을 전송하고 구속 ...

0

웹 클라이언트를 갖고 있거나 갖고 싶다면 브라우저 기반 JavaScript의 '일반'TCP (또는 UDP) 소켓에 액세스 할 수 없기 때문에 WebSocket이 필요합니다. 2017 년에는 플래시, 실버 라이트 또는 자바 애플릿을 원하지 않는다. WebSocket은 포트 번호 때문에 특별하지 않지만 프로토콜 때문에 특별합니다. WebSocket 연결은 일반적인 HTTP 연결로 시작하고 protocol upgrade은 나중에 브라우저 월드로 다시 구성되며 HTTP를 통과 할 수 있습니다. 프록시. 연결을 설정 한 후 채팅 응용 프로그램에 매우 유용한 양방향, 양방향 메시지 스트림을 제공합니다.

웹용으로 인해 허용되는 경우 포트 80을 사용할 수 있습니다.

1

웹 소켓은 웹 서버와 동일한 포트를 공유 할 수 있으며 이는 일반적인 구성입니다. 이 작동하는 이유는 webSocket이 연결을 설정하는 방법 때문입니다 (모든 webSocket 연결은 HTTP 요청으로 시작됩니다).

  1. 클라이언트는 webSocket 프로토콜로 "업그레이드"하고 보안 관련 헤더를 보내도록 지정하는 헤더가있는 웹 서버에 HTTP 요청을합니다.
  2. 웹 서버는 업그레이드 요청을보고 webSocket 연결에 대해 지원이 활성화되어 있으면 101 요청 (스위칭 프로토콜) 및 다른 보안 관련 헤더로 응답합니다.

  3. 클라이언트가 허용되는 업그레이드를 가져오고 양쪽 끝이 webSocket 프로토콜로 전환되고 HTTP 프로토콜을 사용하여 시작된 원래 TCP 소켓이 이제 webSocket 프로토콜을 사용하고 있습니다.

이렇게하면 동일한 포트와 webServer를 일반 HTTP 요청이나 webSocket 연결 요청에 사용할 수 있습니다.

채팅 응용 프로그램의 경우 웹 서버 연결이 일반적으로 사용되는데 이는 서버가 채팅 응용 프로그램에 자주 필요한 클라이언트에 직접 정보를보다 쉽게 ​​보낼 수 있도록하는 연속 연결이기 때문입니다.

webSocket 연결 및 서버 작동 방식에 대해 더 자세히 이해하려면 webSocket 연결을 시작하기위한 단계별 프로세스를 보여주는 MDN : Writing WebSocket servers에서이 참조를 참조하십시오.

+0

@RobinSharma - 허용 된 답변을 삭제 한 이유는 무엇입니까? 당신의 질문에 답변이 없습니까? 그렇다면 아직도 무엇을 혼동하고 있습니까? – jfriend00

관련 문제