歡迎微信搜索公衆號【java版web項目】獲取資源:java學習視頻/設計模式筆記/算法手冊/java項目html
以前使用Springboot整合了websocket,實現了一個後端向前端推送信息的基本小案例,這篇文章主要是增長了一個新的框架就是Netty,實現一個高性能的websocket服務器,並結合前端代碼,實現一個基本的聊天功能。你能夠根據本身的業務需求進行更改。前端
這裏假設你已經瞭解了Netty和websocket的相關知識,僅僅是想經過Springboot來整合他們。根據以前你們的需求,代碼已經上傳到了github上。在文末給出。
廢話很少說,直接看步驟代碼。java
其實對於jar包版本的選擇,不必定按照個人來,只須要接近便可,最好的辦法就是直接去maven網站上去查看,哪個版本的使用率最高,說明可靠性等等就是最好的。Idea我已經破解,須要的私聊我。nginx
創建一個項目,名字叫作SpringbootNettyWebSocketgit
一、添加依賴github
二、在application.properties文件修改端口號web
一句話:server.port=8081算法
三、新建service包,建立NettyServer類後端
這個類的代碼是模板代碼,最核心的就是ch.pipeline().addLast(new MyWebSocketHandler()),其餘的若是你熟悉netty的話,能夠根據本身的需求配置便可,若是不熟悉直接拿過來用。設計模式
四、在service包下建立MyWebSocketHandler核心處理類
在這個類裏面咱們首先創建了一個channelGroup,每當有客戶端鏈接的時候,就添加到channelGroup裏面,咱們能夠發送消息給固定的人,也能夠羣發消息。
注意:有人說這個功能沒有實現後臺主動推送的功能。其實代碼寫到這一步,你能夠使用定時器來實現定時推送的功能,另外爲了解決跨域的問題,你也能夠使用nginx配置反向代理。我這裏只是一個基本的功能,沒有使用nginx。
五、客戶端代碼
如今一切就緒,打開咱們的服務器,而後再打開咱們的網頁客戶端。看一下效果吧
一樣的服務器也是一樣的效果。這裏就不粘貼演示了。OK,這就是一個最基本的功能,全部的測試均在我本身的電腦上實現,若有問題還請指正
做者:愚公要移山
近期熱文推薦:
SpringCloud微服務電商項目教程