2013-12-15 22 views
5

Có phải tất cả công việc cho chức năng webRTC đang được thực hiện trên máy chủ webRTC không? Ví dụ: trong rtc data channel from simpl.info bạn chỉ có thể sao chép html cho hộp văn bản nhập và hộp văn bản cũng như JavaScript và sao chép nó vào máy tính cục bộ của bạn và nó hoạt động hoàn hảo. Khi JavaScript file được kiểm tra gần hơn, có rất nhiều cuộc gọi đến từ thư viện webRTC mà không cần chúng trên máy tính cục bộ của tôi. I E. webRTC hoạt động như thế nào?

window.localPeerConnection = new webkitRTCPeerConnection(servers, 
{optional: [{RtpDataChannels: true}]}); 

lúc đầu tôi nghĩ để có được những phương pháp này để làm việc tôi sẽ phải tải webRTC đến máy địa phương sẽ lưu trữ các trang và sau đó tôi có thể gọi chúng theo cách đó. Nhưng điều đó dường như không đúng, tôi đã thử hầu hết các ví dụ và tất cả chúng đều hoạt động mà không có webRTC cục bộ.

Tôi đã xem webRTC intro video nó đi qua rất nhiều tính năng nhưng nó không giải thích câu hỏi cụ thể này. Một khía cạnh khác làm tôi bối rối, là một thực tế khi bạn đi đến chính thức webrtc.org getting started tutorial, nó cung cấp hướng dẫn từng bước để tải xuống thư viện webRTC mà tôi đã làm. Nhưng mục đích của điều đó là gì nếu bạn không cần chúng để tạo ra các ứng dụng webRTC và công việc đang được thực hiện trong một máy chủ bên ngoài?

Tôi thấy một câu hỏi khác có tiêu đề gần như giống hệt nhau, how does webRTC work?, nhưng sau khi đọc câu trả lời được chấp nhận và câu hỏi khác, OP muốn biết cách kết nối ngang hàng và làm việc với ICE TURN máy chủ, mà tôi kinda hiểu từ video giới thiệu, câu hỏi của tôi là nhiều hơn là các máy chủ lần lượt, ICE, vv được lưu trữ bởi Google hoặc chúng tôi có thể lưu trữ chúng tại địa phương. Và nếu một cái gì đó Google lưu trữ, vv, không phải là nó không an toàn hơn là có thể lưu trữ tại địa phương?

Trả lời

4

WebRTC là một sức mạnh tổng hợp rất phức tạp của nhiều thành phần và giao thức. May mắn thay, từ quan điểm của nhà phát triển web, tất cả điều này được đóng gói bởi ba API JavaScript chính: getUserMedia, RTCPeerConnection và RTCDataChannel. Các API này được xác định bởi W3C và là một phần của trình duyệt hỗ trợ WebRTC. Bạn có thể tìm thấy một tổng quan về hỗ trợ hiện tại ở đây:

này có nghĩa là bạn không cần phải "tải" WebRTC để sử dụng nó, nếu trình duyệt hỗ trợ nó, nó đã có sẵn.

Để trả lời câu hỏi thứ hai của bạn về các máy chủ STUN và TURN: Có các máy chủ công khai. Tuy nhiên, đây là chủ yếu cho mục đích thử nghiệm. Bạn có thể triển khai máy chủ TURN của riêng mình, máy chủ rfc5766-turn là một tài liệu và tài liệu được tìm thấy here

1

Nếu bạn quan tâm đến máy chủ rẽ, bạn có thể tạo máy chủ lượt của riêng mình bằng cách sử dụng rfc5766. Tôi đã sử dụng nó để tạo máy chủ lượt của riêng tôi và nó hoạt động tốt.

3

Vì WebRTC đang sử dụng ngang hàng, nó sẽ hoạt động tốt nếu bạn làm điều đó trên mạng nội bộ của bạn, vì danh tính những người tham gia được biết và WebRTC biết cách định tuyến thông tin. Nhưng điều đó không hoạt động trên internet, vì mọi người đang sử dụng bộ định tuyến và tường lửa, v.v ...

Vì vậy, bạn phải trao đổi thông tin tín hiệu để khởi tạo kết nối ngang hàng ngay từ đầu.Thông tin này cho người tham gia biết cách họ có thể tìm thấy những người khác trên internet (chỉ IP sẽ không đủ, vì một IP công cộng có thể có bất kỳ số lượng PC nào phía sau bộ định tuyến của nó). Điều này được gọi là tín hiệu. Tuy nhiên, tín hiệu không phải là một phần của WebRTC, do đó, tùy thuộc vào bạn cách trao đổi thông tin này. Vì vậy, về cơ bản bạn cần một nơi mà những người tham gia đã có thể "nhìn thấy" nhau và có thể trao đổi dữ liệu tín hiệu. Khi thông tin được trao đổi, WebRTC có thể thiết lập kết nối ngang hàng trực tiếp để truyền tất cả các dữ liệu khác như video và âm thanh (dữ liệu này không đi qua máy chủ). Đối với điều này, bạn có thể sử dụng bất cứ công nghệ nào bạn muốn, websockets, nhắn tin tức thời, thậm chí sao chép thông tin ra khỏi email sẽ hoạt động.

Tôi đã viết detailed tutorial về cách tạo ứng dụng WebRTC đơn giản, sử dụng websockets. Nó cũng giải thích cách thiết lập máy chủ websocket của riêng bạn. Hi vọng điêu nay co ich!

Các vấn đề liên quan