webSocket開發chat application過程

本次使用websocket開發chat的功能已經接近尾聲,等到壓力測試結束以後就能夠上線了。在此記錄一下整個開發過程。html

-------------------------------------------------------------------------------------------------------------------------------------------------linux

個人開發環境: nginx

Java1.8.0_25web

tomcat8.5.14ajax

nginx1.6.3spring

相關開源軟件版本:apache

sockjs-0.3windows

springmvc 4.0.6.RELEASE瀏覽器

按照官方的說法:tomcat

最低配置應該在Java7,tomcat7.0.43,nginx 1.3.13 .

參考http://nginx.org/en/docs/http/websocket.html  和http://tomcat.apache.org/tomcat-7.0-doc/changelog.html

題外話:樓主公司原本是用的是tomcat7.0.65  linux.本人開發環境使用的是8.0.43. 開發結束提交測試後再 測試服務器一直報錯,沒法運行(異常信息忘記截圖了)。樓主在開發環境windows下測試了7.0.57,7.0.72,7.0.82均可以使用。等閒了在測試一下。

最後統一升級到了tomcat8.5.14 升級過程當中除了程序中有一處ajax get方法傳參格式不規範致使的異常外,其他測試正常。

-------------------------------------------------------------------------------------------------------------------------------------------------

websocket開發分爲client端和server端

因本功能須要在mui+H5 開發的app,同時還有微信服務號,瀏覽器等多處應用,最終在client端選擇sockjs。

server端,即SpringMVC

-----------------------------------------------------------------------------------------------------------------------------------------------

系統架構

 

須要解決的問題:

1)nginx默認是使用http協議的,要想讓nginx支持ws或者wss協議,須要對nginx進行配置,作協議升級。具體參照http://nginx.org/en/docs/http/websocket.html

2)socket 鏈接共享。server端在服務器上的部署確定不是單機的。client1和client2 要進行對話,他們有可能連接到了不一樣的Server,websocket沒法序列化,如何把消息經過其餘Server上的websocket連接發給客戶端是須要解決的問題。

相關文章
相關標籤/搜索