2013-07-11 4 views
13

UDP를 사용하는 것을 제외하고 Socket.io (WebSockets)의 기능 (및 선호하면 API)을 모방 한 방식으로 Node.js에서 WebRTC 데이터 채널을 사용할 수 있습니까?WebRTC 데이터 채널 서버에서 클라이언트로 UDP 통신

본질적으로 브라우저 클라이언트가 JavaScript를 통해 양방향 양방향 UDP 연결을 설정할 수있는 Node.js를 실행하는 서버를 갖기를 원합니다.

답변

8

Node.js를위한 WebRTC에 모듈이있다 : https://js-platform.github.io/node-webrtc/

설치는 (적어도 말을) 정말 성가신 수 있지만 당신이 성공하는 경우가로 Node.js를 서버 역할을 할 수 있습니다 브라우저와 마찬가지로 WebRTC 피어. 이렇게하면 브라우저와 node.js 서버간에 데이터 채널을 열 수 있습니다.

성능 특성을 평가하기 위해이 프로젝트를 연구 프로젝트에 사용하고 있습니다.

+0

node.js 서버를 여러 브라우저 클라이언트에 연결하고 그와 유사한 방식으로 처리하는 인터페이스가 있습니까? 여러 websocket 클라이언트가 Socket.io에서 처리됩니까? – Willem

+1

아마도 WebRTC JS 래퍼 중 하나를 사용할 수 있습니다. webrtc.io 또는 orca.js와 같은 래퍼의 문제점은 브라우저에서 사용하도록 빌드 된 것이므로 서버 측에서 사용되도록 조정해야 할 것입니다. – Makkes

+0

이렇게 래퍼를 사용하면 브라우저 클라이언트가 여러 다른 브라우저와의 통신에서 끝점 역할을 할 수 있습니까? – Willem

4

예, 이론적으로이 작업을 수행 할 수 있어야합니다. 그러나 WebRTC 데이터 채널을 지원하는 노드 모듈이 필요하므로 다른 피어와 마찬가지로 연결할 수 있습니다. 불행히도, current modules을 통해 스캐닝, 나는 데이터 채널을 구현하는 하나를 볼 수 없습니다. 주목할

다른 것은 WebRTC에 데이터 채널이 신뢰성 모드가 SCTP (FirefoxChrome)로 구현되는 다른 reliability modes로 구성 될 수있다.

데이터 채널을 테스트 할 때 WebRTC 작업이 분할되어 Chrome이 초기에 PeerConnection과 Firefox의 DataChannel에 초점을 맞추기 때문에 Firefox를 사용하는 것이 좋습니다 (Firefox가 DataChannel 구현에서 여전히 앞서 있기 때문에).

+0

감사합니다. 내 의혹을 확인합니다. 누군가가 연결된 여러 클라이언트를 지원하는 Websocket API를 모방 한 모듈을 만들길 바랍니다. – Willem

+1

저는 실제로 신뢰할 수없는 모드 (0 retransmits)에 가장 관심이 있습니다. WebRTC가 SCTP 또는 다른 것을 통해이를 지원합니까? – Willem

+1

신뢰할 수없는 모드는 처음에는 [RTP in Chrome] (https://code.google.com/p/webrtc/issues/detail?id=1494)을 기반으로 작성되었지만 모든 것이 [결국 SCTP를 기반으로합니다] (https://code.google.com/p/webrtc/issues/detail?id=1430). Mozilla가 데이터 채널과 함께 사용하는 SCTP 라이브러리는 https://code.google.com/p/sctp-refimpl/ –

관련 문제