Memengaruhi
Browser yang tidak mendukung WebSocket, gunakan Flash untuk mensimulasikan WebSocket.
Faktanya, protokol Websocket relatif sederhana, dan lebih sederhana untuk disimulasikan dengan ActionScript.
Selain itu, Spring menyediakan API untuk Sockjs. Saya belum melihatnya.
Beberapa deskripsi:
1. Menggunakan enkapsulasi Websocket Spring dapat digunakan sendiri atau dengan Spring MVC. Perlu dicatat bahwa ketika digunakan sendiri, Anda masih perlu mengkonfigurasi operator pegas di web.xml, dan Anda masih harus membuka server.
<servlet> <servlet-name> WebSocket </servlet-name> <servlet-class> org.springframework.web.servlet.dispatchervlet </servlet-class> <Para-name> ContextConfigLocation </param- name> <param -Value> /web-inf/applicationContext.xml </param-value> </itin-param> <load-on-tartup> 1 </boad-startup> </servlet- pemetaan> <servlet-name> /Servlet-name> <RURL-PATERS>/</URL-PATERS> </Servlet-Mapping>>
2. Saat digunakan sendiri, jika rujuk silang -domain, Anda perlu mengatur daftar putih di musim semi
<Websocket: penangan diizinkan-origins = "*"> ........ </Websocket: Handlers>
3. Karena flash digunakan, perlu untuk mengaktifkan port 843 dan mengembalikan file kebijakan ketika Flash meminta file kebijakan. Contohnya adalah Netty4.
4. Anda perlu mencegat dan memantau jabat tangan. Karena di kelas pemrosesan WebSocket, tidak mungkin untuk mendapatkan sesi dari WebSocketsession.
CHATInterCepter kelas publik memperluas httpsessionHandshaAndShakeIndepTor {@Override public boolean sebelumnya Handshake (serverHttprequest, respons, websockethandler wshandler, peta <string, objek> lemparan highlet (if iferperequest (request. Est .getServletRequest (). ("" Sebelum handshake "+request.getheaders ()); // return super.beforeHandshake (permintaan, respons, wshandler, atribut); kembalikan true; .............
5. Di Web-Socket-Js, informasi header WebSocket yang disimulasikan oleh Flash akan berisi cookie, tetapi ditambahkan oleh skrip. Jadi untuk menghindari cookie yang diperlukan, seperti cookie sesi adalah httponly.
Jika saat ini dikembangkan di Eclipse
Dapat dilihat bahwa menambahkan UseHttPonly = 'FALSE' ditambahkan ke tag konteks, dan tag konteks ditambahkan secara otomatis ketika gerhana digunakan.
Jika Anda sudah mengemasnya, buka Tomcat Directory /conf/server.xml, tambahkan sebelum </shost> terakhir
Salin kode kode sebagai berikut:
<Context docbase = "WebSocket" path = "/WebSocket" Reloadable = "true" useHttponly = 'false'/>
Arti dari ini adalah semua isi artikel ini, saya harap semua orang bisa menyukainya.