تأثير
المتصفح الذي لا يدعم WebSocket ، استخدم Flash لمحاكاة WebSocket.
في الواقع ، يكون بروتوكول WebSocket بسيطًا نسبيًا ، ومن الأسهل محاكاة مع ActionScript.
بالإضافة إلى ذلك ، يوفر Spring APIs لـ SockJs. لم أرها بعد.
بعض الأوصاف:
1. يمكن استخدام تغليف Spring of WebSocket بمفرده أو مع MVC Spring. تجدر الإشارة إلى أنه عند استخدامه بمفرده ، لا تزال بحاجة إلى تكوين مرسل الربيع في web.xml ، ولا يزال يتعين عليك فتح الخادم.
<Srevlet> <vervlet-name> WebSocket </servlet-name> <Servlet-Class> org.springframework.web.servlet.dispatchervlet </rectlet-class> <para m-name> contextConfiglocation </param- name> <param <param -value> /web-inf/applicationContext.xml </param-value> </ith-param> <load-on-startup> 1 </toled-startup> </stervlet- mapping> <Servlet-Name> WebSocket < /servlet-name> <url-pattern>/</url-pattern> </stervlet-mapping >>
2. عند استخدامه بمفرده ، إذا تمكن من ذلك ، فأنت بحاجة إلى تعيين قائمة بيضاء في الربيع
<WebSocket: معالجات المسموح بها-الأثرية = "*"> ........ </websocket: معالجات>
3. نظرًا لاستخدام الفلاش ، من الضروري تشغيل المنفذ 843 وإرجاع ملف السياسة عندما طلب Flash ملف السياسة. المثال هو netty4.
4. تحتاج إلى اعتراض ومراقبة المصافحة. لأنه في فئة معالجة WebSocket ، من المستحيل الحصول على جلسة من WebSocketsession.
يمتد Class chatinterctlectipter httpsessionhandshaakeinterceptor السعي .getServletRequest (). ("" قبل المصافحة "+request.getheaders ()) ؛ // return super.beforehandshake (طلب ، استجابة ، wshandler ، السمات) ؛ إرجاع صحيح ؛ .............
5. في مقبس الويب-JS ، ستحتوي معلومات رأس WebSocket المحاكاة بواسطة Flash على ملف تعريف الارتباط ، ولكن يتم إضافتها بواسطة البرنامج النصي. لتجنب ملفات تعريف الارتباط المطلوبة ، مثل ملف تعريف الارتباط بالجلسة ، يتطلب حاوية.
إذا تم تطويره حاليًا في Eclipse
يمكن ملاحظة أنه يتم إضافة إضافة usehttponly = "false" إلى علامة السياق ، ويتم إضافة علامة السياق تلقائيًا عند نشر Eclipse.
إذا كنت قد قمت بالفعل بتعبئتها ، فانتقل إلى Tomcat Directory/Conf/Server.xml ، أضفه قبل آخر </host>
نسخ رمز رمز على النحو التالي:
<context docbase = "websocket" path = "/websocket" reloadable = "true" usehttponly = 'false'/>
معنى هذا هو كل محتويات هذه المقالة ، وآمل أن يعجب الجميع بذلك.