<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SpringBoot+Netty+Websocket整合案例(3分鐘實(shí)現(xiàn)一個(gè)基本的聊天功能)

          共 1290字,需瀏覽 3分鐘

           ·

          2021-01-13 15:10

          作者:愚公要移山

          www.toutiao.com/i6775018273139327492/

          之前使用Springboot整合了websocket,實(shí)現(xiàn)了一個(gè)后端向前端推送信息的基本小案例,這篇文章主要是增加了一個(gè)新的框架就是Netty,實(shí)現(xiàn)一個(gè)高性能的websocket服務(wù)器,并結(jié)合前端代碼,實(shí)現(xiàn)一個(gè)基本的聊天功能。你可以根據(jù)自己的業(yè)務(wù)需求進(jìn)行更改。

          這里假設(shè)你已經(jīng)了解了Netty和websocket的相關(guān)知識(shí),僅僅是想通過Springboot來整合他們。根據(jù)之前大家的需求,代碼已經(jīng)上傳到了github上。在文末給出。

          廢話不多說,直接看步驟代碼。

          一、環(huán)境搭建

          其實(shí)對(duì)于jar包版本的選擇,不一定按照我的來,只需要接近即可,最好的辦法就是直接去maven網(wǎng)站上去查看,哪一個(gè)版本的使用率最高,說明可靠性等等就是最好的。Idea我已經(jīng)破解,需要的私聊我。

          二、整合開發(fā)

          建立一個(gè)項(xiàng)目,名字叫做SpringbootNettyWebSocket

          1、添加依賴

          2、在application.properties文件修改端口號(hào)

          一句話:server.port=8081

          3、新建service包,創(chuàng)建NettyServer類

          這個(gè)類的代碼是模板代碼,最核心的就是ch.pipeline().addLast(new MyWebSocketHandler()),其他的如果你熟悉netty的話,可以根據(jù)自己的需求配置即可,如果不熟悉直接拿過來用。

          4、在service包下創(chuàng)建MyWebSocketHandler核心處理類

          在這個(gè)類里面我們首先建立了一個(gè)channelGroup,每當(dāng)有客戶端連接的時(shí)候,就添加到channelGroup里面,我們可以發(fā)送消息給固定的人,也可以群發(fā)消息。

          注意:有人說這個(gè)功能沒有實(shí)現(xiàn)后臺(tái)主動(dòng)推送的功能。其實(shí)代碼寫到這一步,你可以使用定時(shí)器來實(shí)現(xiàn)定時(shí)推送的功能,另外為了解決跨域的問題,你也可以使用nginx配置反向代理。我這里只是一個(gè)基本的功能,沒有使用nginx。

          5、客戶端代碼

          現(xiàn)在一切就緒,打開我們的服務(wù)器,然后再打開我們的網(wǎng)頁客戶端。看一下效果吧

          同樣的服務(wù)器也是同樣的效果。這里就不粘貼演示了。OK,這就是一個(gè)最基本的功能,所有的測(cè)試均在我自己的電腦上實(shí)現(xiàn),如有問題還請(qǐng)指正



          好文章,我在看

          瀏覽 48
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  蜜臀av在线 | 婷婷五月丁香综合 | 午夜8050网站 | 91精品一区二区 | 亚洲第一视频网站 |