سؤال

كنت أقرأ من خلال المواصفات والعديد من الأمثلة حول استخدام WebSockets. يتحدث جميعهم تقريبًا عن نقل رسالة UTF-8 أو ASCII باستخدام WebSockets.

طلب أحدث مواصفات Hybi WebSocket دعمًا للنقل الثنائي. Req 6 في Hybi Spec

كما قرأت في مكان ما أن كروم يدعم Hybi. لكن الإصدار الأخير من Chrome 7.0 يعمل فقط عندما مسودة تم تحديده في Config Pywebsocket.

هل لدى أي متصفح دعم لمواصفات Hybi؟ حتى لو كان dev ، لا بأس.

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

المحلول

قد يستغرق الأمر بعض الوقت قبل دعم الترميز غير UTF-8 (أي ثنائي) في WebSockets.

أقترح استخدام BASE64 تشفير/فك شفرة على العميل والخادم. جميع المتصفحات مع دعم WebSockets لها Window.Atob (Decode Base64) و Window.btoa (تشفير BASE64). معظم اللغات التي قد تكتب خادم WebSockets في مكتبات BASE64 (IE BASE64 وحدة في Python).

إذا كنت ترغب في نقل البيانات الثنائية ، فقد تكون مثيرًا للاهتمام في WSPROXY Novnc وهو عميل VNC يعتمد على الويب. Wsproxy (يوجد إصدار C و Python) عبارة عن WebSockets to Generic TCP Sockets Proxy. IT BASE64 يشفر/فك تشفير كل حركة المرور من/من المتصفح. يمكنك استخدامه للاتصال من متصفح WebSockets قادر على أي نوع من منفذ TCP.

ملاحظة ، لدى Novnc تطبيق JavaScript لـ BASE64 ENCODE/DECODE لأن الإيمان به أم لا ، فإن إصدار JavaScript أسرع قليلاً من ATOB/BTOA.

إخلاء المسئولية: لقد أنشأت Novnc.

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