سؤال

لقد كنت googling وما زلت لا أستطيع الحصول عليها. يقول بعض الناس: هنا تذهب، فقط استخدمها. يدعي الآخرون أنه يحتوي على قيود معينة لا يسمح لك باستخدام P2P بالطريقة التي تريدها في فلاش.

لذلك، إليك سؤال بسيط: هل من الممكن تطبيق تطبيق Flash10، يستخدم بعض ملفات Torrent الموجودة لتدفق الفيديو / الصوت مباشرة إلى متصفح المستخدم؟

إذا لم يكن كذلك - لماذا؟ هل هناك أي حل ممكن لهذا "لا"؟ إذا كانت الإجابة بنعم - ما هي صعوبات التنفيذ ولماذا لم يكن أحد فعله بعد ذلك؟

هل كانت مفيدة؟

المحلول

الجواب ليس إلى حد كبير ... حسنا، إنه فقط لا، أن نكون صادقين.
وأشار Drudru التكنولوجيا المناسبة لفلاش P2P، أي Stratus.

يعتمد Flash P2P على RTMFP، والتي تم بناؤها على UDP. في الواقع، يقوم Flash بربط منفذ، لكن هذا يأتي من Internals. لا يوجد API للقيام بذلك يدويا.

يسمح RTMFP أساسا شيئين:

  1. تدفق UDP (غير موثوق به، ولكن سريع) للفيديو والصوت. من جانب Flash، يمكنك نشر الكاميرا وميكروفون فقط. من الخادم، أي شيء تقريبا.
  2. إجراء المكالمات عن بعد إلى نقطة النهاية الأخرى لاتصال P2P. يمكن استخدام هذا لنقل البيانات. تم تأمين هذا التواصل، أي ترتيب الحزمة والنزاهة يتم الحفاظ عليها بواسطة Flash Player.

يستند P2P إلى NAT Punchthroughs. Stratus نفسه هو خادم مقدمة. أيضا، لأغراض أمنية، يعني اتصال P2P أيضا، يجب أن يكون لدى كل من العملاء TCP Codling (إذا كنت أتذكر بشكل صحيح) الاتصال بالخادم. أعتقد، يتم نقل القليل من البيانات بالطبع، ولكن ليس الحمولة.

ومع ذلك، فإن بروتوكول سيل يختلف كثيرا عن هذا. لذلك، هذا ليس خيارا. يمكنك إنشاء بروتوكول مكافئ أعلى من RTMFP، عثرت على خدمة Stratus (أو الانتظار حتى يتم فتحها). يمكن أيضا استخدام هذا بالطبع من قبل عملاء غير فلاش. ولكن مرة أخرى، فلن تتمكن من مشاهدة البيانات المرسلة كفي كمقر فيديو، نظرا لأنك ستحصل على مزودة ببعض المكالمة إلى عميلك NetStream, ربما أ ByteArray. وبعد ولا يمكنك اللعب ByteArrayس. يمكنك كتابة عملاء غير فلاشين، يقومون بنشر مقاطع الفيديو كدفق، لكن ذلك سيكون بعيدا عن ما تريد، أعتقد.

إذا كنت تريد حقا أن تفعل أي شيء من هذا القبيل، فأنت بحاجة إلى Java. يمكنك تسجيل تطبيق Java Applets، وإذا قبل المستخدم الشهادة، فإن لديهم إمكانية الوصول غير المقيد بشكل عملي، على سبيل المثال، يمكنك ربط المنافذ. نظرا لأن Java يمكن أن تفعل UDP، فيمكنك الحصول على تطبيق Java SPLET، وهذا يقوم ب Torrenting (ربما استخدم فقط CodeBase) وإذا كنت تريد حقا عرضه في Flash (والذي يتطلب بدوره FLV)، فيمكنك mime محلي " خادم الوسائط الفلاش "ونشر الفيديو على LocalHost: ما بعد. ولكن حقا، يبدو بت الفلاش معقدا يبعث على السخرية وغير مجدية بالنسبة لي. بدلا من ذلك حاول اللعب مع جافا، والتي نأمل أن يكون لها خيار للقيام بذلك أصلا.

نصائح أخرى

لا يسمح لك Flash بالاستماع إلى مأخذ توصيل للاتصالات الواردة. هذا من شأنه أن يجعل من الصعب حقا العمل مع السيول الموجودة. بالنظر إلى مشكلات الأمان حول هذا، لا أرى ذلك يحدث.

ومع ذلك، فقد بدأت Adobe إصدارها الخاص من نظام P2P يسمى Stratus. يمكنك أن تقرأ عن ذلك هنا http://labs.adobe.com/technologies/stratus/

كل هذه المعلومات قديمة الآن.

هممم ... هذا هو اقتراح مثير للاهتمام، والحفاظ على الملف الذي تم تنزيله فقط في ذاكرة فلاش. أعتقد أنه من الممكن بالتأكيد، ولكن ربما بطيئة وسيتم توجها بضع مئات من ميغابايت.

تحرير: هذا غير ممكن لأنه لا يمكنك الاستماع إلى المنافذ باستخدام فلاش فقط، لا يحتوي المتصفح على هذا النوع من القدرة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top