2013-07-05 22 views
5

Tôi đang cố gắng sử dụng WebRTC cho hoàn toàn phân quyềnpeer-to-peer thông tin liên lạc. Tôi đang cố gắng xây dựng một mạng lưới lớp phủ P2P, trong đó các nút trao đổi chi tiết của các nút khác để chúng có thể kết nối với chúng.Các đốm màu SDR WebRTC có thể tái sử dụng được giữa các đồng nghiệp không?

Nếu tôi trao đổi các đốm màu SDP (session description objects) giữa các nút, chúng có thể được sử dụng tái sử dụng không?

Trả lời

4

Nói chung là không: bạn cần phiếu mua hàng từ nguồn PeerConnection; không có gì đảm bảo rằng một blob cho PC1 có thể được sử dụng với PC2 (và có thể là không thể). Bây giờ, nếu họ đã tạo một kết nối ngang hàng, hãy thực hiện CreateOffer và giữ kết nối ngang hàng cho đến khi SDP đó được sử dụng - thì có, nhưng điều đó 'không thực sự' tái sử dụng ".

Bạn có thể nhận được ngay với nó, nhưng những thứ khác nhau ngay bây giờ hoặc trong tương lai có thể phá vỡ bạn bán ngẫu nhiên. Giải pháp tốt nhất là tạo một phiếu mua hàng từ nút nguồn và chuyển nó qua mạng p2p đến nút đích, sau đó có thể truyền lại phản hồi. Nếu bạn có thể giữ cho PC luôn hoạt động để chờ giao dịch đến, "nguồn" có thể sử dụng nó cho createAnswer và cắt một chuyến đi qua mạng p2p. Bạn sẽ cần phải đối phó với va chạm (hai nút cố gắng sử dụng cùng một lời đề nghị đã được phân phối thông qua mạng; về cơ bản một thiết lập thất bại/thử lại nên xử lý nó trong những trường hợp hiếm hoi cần thiết). Bạn cũng có thể đưa vào câu trả lời một đề nghị để sử dụng chỉ trong trường hợp có xung đột.

+0

Bạn có thể biện minh cho lập luận của mình rằng không thể sử dụng blob cho PC1 với PC2? Không phải là tôi nghi ngờ bạn, tôi chỉ muốn biết cụ thể những gì khía cạnh ngăn chặn điều này. – liamzebedee

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