HTML5의 WebSocket을 사용하려면 서버가 필요합니까?


78

WebSocket을 사용할 때 서버 코드를 작성해야합니까? 즉, 내 클라이언트 응용 프로그램의 JavaScript가 특수 서버에 연결해야합니까? 아니면 기존 Apache 서버가이를 지원하기 위해 작동합니까?

답변:


20

서버는 웹 소켓을 지원해야합니다. HTTP에서 첫 번째 핸드 셰이크 후 서버와 클라이언트는 소켓 연결을 엽니 다. 서버는이 핸드 셰이크를 이해하고 받아 들일 수 있어야합니다.

내 마지막 프로젝트에서 우리는 마지막 Jetty 버전을 사용하여 웹 소켓 연결을 성공적으로 실행했습니다.

27/02/2014 : 이제 XSockets.net을 사용하여 .net에서 웹 소켓을 구현하고 있으며 매력적으로 작동합니다. 웹 서버 (셀프 호스팅)도 필요하지 않습니다. ASP.NET의 WebSocket 구현도 꽤 잘 작동합니다.


github의 cwebsocket은 멋진 소형 서버입니다. http 서버로 확장하기 쉽습니다.
minghua

6

예, 서버 코드를 작성해야합니다.

php : ratchet을 기반으로하는 다른 웹 소켓 서버를 권장합니다 . 그리고이 링크 는 래칫과 sockJS 사이의 webSocket 서버를 벤치마킹하고 있습니다.

클라이언트 및 서버 측 코드 및 브라우저 지원의 전체 목록은이 링크 를 확인 하십시오.


5

물론 WebSocket 서버가 필요합니다. 그러나 Java의 jWebSocket 및 .NET의 SuperWebSocket 과 같이 다른 언어로 된 많은 무료 websocket 서버 가 있으므로 직접 사용할 수 있습니다.


2
"물론"서버가 필요한 이유는 무엇입니까? P2P로 작동 할 수 있습니다.
Jonathan Stark

@JonathanStark 아니. Websocket은 클라이언트 / 서버 전용입니다. 그들은 P2P가 아닙니다. 피어 투 피어 솔루션의 경우 webrtc 사양을 확인하십시오.
JAR.JAR.beans

내 잘못이야. WebRTC를 생각하고있었습니다. 미안합니다.
Jonathan Stark 2014

5

현재 Apache 용 Google 코드에서 개발중인 플러그인이 있습니다.

정의에 따라 일반 소켓과 같은 웹 소켓은 클라이언트-서버이므로 서버가 필요합니다. 그러나 Apache 플러그인을 기다리는 대신 사용할 수있는 방법이 있습니다.

호스팅 서버 http://www.achex.ca를 사용하고 있습니다 . 있습니다. 무료이며 서버 사용 방법에 대한 자바 스크립트 자습서가 있습니다. 웹 소켓 개발을위한 좋은 시작입니다.

서버는 기본적으로 메시지 라우터이며 여기에 연결하여 모든 웹 소켓 클라이언트의 미팅 포인트로 사용할 수 있습니다.

짧은 답변 : , 특수 서버가 필요합니다. Apache에는 웹 소켓이 포함되어 있지 않습니다.
또는
대안www.achex.ca를 확인하십시오 .


2

이러한 상황에서 서버의 역할은 다음과 같습니다.

HTML 5에서 WebSocket은 워키 토키가 아닌 fone (양방향 통신)과 같습니다. http 프로토콜이 websocket 프로토콜로 업그레이드되었습니다. (wss:// from ws://) SERVER는 이중 채널을 열 수 있어야하며 따라서 이중 통신에 동의해야합니다.

이 링크를 통해 가십시오 : http://www.html5rocks.com/en/tutorials/websockets/basics/

PHP를 사용하는 경우 RATCHET을 참조하십시오.

감사.


1

Perl Mojolicious 서버는 웹 소켓을 지원하며 구현은 몇 줄만 가능합니다.

Node.js에는 여러 WebSocket 라이브러리가 있지만 최신 사양을 가장 많이 지원하는 최신 사양에 대한 세부 정보는 다양하므로 신중하게 선택하십시오.

Apache Active MQ는 구현하는 스톰프 프로토콜과 함께 살펴볼 가치가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.