2013-11-29 2 views
2

기본적으로 동일한 로컬 네트워크에있는 서로 다른 두 컴퓨터 간의 연결을 만드는 것입니다. 그러나 나는 컴퓨터의 로컬 IP에 의해 이것을하고 싶다. (192.168.2.23 등)로컬 IP를 기반으로하는 PeerConnection

이것은 완전히 로컬 연결이어야합니다. TURN 또는 STUN 서버가 없습니다. 이것이 가능한지 확실하지 않습니다. WebRTC에 대한 많은 문서/예제/정보가 없기 때문입니다.

내 컴퓨터에서 매개 변수로 로컬 IP를 전달하는 다른 컴퓨터로 어떻게 연결을 만들 수 있습니까?

업데이트 : 더 명확히하려면; HTML 페이지에는 카메라 및 오디오 서비스를 활성화하는 코드가 포함되어 있다고 상상해보십시오. 다른 컴퓨터에서 다른 거의 동일한 페이지가 열려 있습니다. 연결 요청 대기 중 ... 그리고 내 로컬 네트워크의 다른 컴퓨터에 속한 IP를 입력하는 텍스트 상자가 내 페이지에 있습니다. 192.168.2.xx와 빙고를 입력하십시오! 나는 나와 다른 컴퓨터 사이에 연결되어있다.

네트워크에 2 개 이상의 장치가있을 수 있으므로 IP 기반으로이 프로세스를 원합니다. 그리고 그들 모두는 연결을 생성 할 수있는 가능한 장치입니다. 그래서 나는 그들의 IP로 그들에게 연락해야한다.

모든 예제 코드 또는 설명은 훌륭합니다! 이것이 가능하지 않다고하더라도

감사합니다.

답변

3

피어 검색은 모든 WebRTC 응용 프로그램에서 중요한 부분입니다. "안녕하세요, 저는 컴퓨터 4이고 당신과 이야기하고 싶습니다!"라고 말하는 것은 비싼 용어입니다. 전화로 친구에게 전화하는 것으로 확인하십시오. 전화 번호를 먼저 눌러야합니다. 이 부분은 WebRTC 표준에 정의되어 있지 않습니다. 이 논리를 응용 프로그램에 구현해야합니다. 누구에게 전화할지 알고 나면 중요한 정보를 교환 할 수있는 방법이 필요합니다. 이것은 flo850과 같은 시그널링이라고합니다. 피어 - 투 - 피어 연결을 설정하기 전에 신호가 필요합니다.

LAN에서 7 개의 장치를 사용하는 아이디어를 제안하십시오.

이러한 장치가 예를 들어 WebSockets 서버에 연결되어 있고 동일한 채널에있는 경우.

WebSockets 서버는 메시지를 특정 수신자에게 라우트하도록 작성할 수 있습니다. 채널에 연결된 장치는 일종의 ID로 식별되며 장치의 IP를 사용한다고 가정합니다. IP 192.168.0으로 컴퓨터 4와 대화하고 싶을 때.4 채널에있는 교환 메시지 (시그널링)를 ID가있는 수신기, 연결할 장치의 IP로 보냅니다. 신호 (제안, 답변)를 보내는 방법은 예제 코드 here으로 설명되어 있습니다.

희망이 있습니다.

+1

설명입니다 나는 필요하다. 나쁜 소식이지만 나는 이것으로 괜찮습니다. 적어도, 더 이상 나는 webRTC로 할 수없는 것을 알고 있습니다. 정말 고맙습니다. – alix

2

일반적으로 사용자는 NAT 뒤에 있습니다. 그것이 ICR 개념이 WebRTC에서 구현 된 이유입니다.

두 사용자가 동일한 NAT 뒤에 앉아있는 경우 당신이 "RTCPeerConnection"을 통해 "NULL"매개 변수 값을 전달하여 ICE 서버를 건너 뛸 수 있습니다 생성자 :

이제
var peer = new [webkit|moz]RTCPeerConnection (null); 

, 브라우저는 또한 "지역"후보로 알려진 "host"후보를, 사용합니다 .

+0

두 컴퓨터가 서로 어떻게 인식합니까? 로컬 네트워크에 7 대의 컴퓨터가 있다고 상상해보십시오. – alix

+0

@alix IP가 유일합니다. 7 대의 컴퓨터가 모두 같은 네트워크에 있으면 시그널링 서버가 컴퓨터간에 SDP 설정을 조정 한 후 이제는 서로를 인식 할 수있게됩니다. –

2

신호 서버가 필요합니다. ICE 후보 검색 중에 클라이언트가이 신호 서버를 통해 로컬 IP를 교환합니다.

관련 문제