成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

不發(fā)不行!Netty集成文字圖片聊天室外加TCP/IP軟硬件通信

siberiawolf / 1372人閱讀

摘要:前言熬了一晚上硬是磨出來了,更新到了上,善存一些小,不過這個版本的整體功能算是實現(xiàn)了。預留其余的就是可能善存的一些了圖片過大,需要在前端做圖片上傳壓縮前端代碼的一點問題,不影響項目正常運行遠程主機強迫關閉了一個現(xiàn)有的連接。

前言

熬了一晚上硬是磨出來了,更新到了GitHub上,善存一些小BUG,不過這個版本的整體功能算是實現(xiàn)了。

項目:UncleCatMySelf/InChat

地址:https://github.com/UncleCatMy...

雙端口,TCP/IP軟硬件通信、Web端通信聊天應用

文字、圖片聊天

流程圖

磨了兩天的Netty,因項目需要所以在整改一些東西,具體就不細說了,剛剛好和這個項目相似就拿來練練手·······

先看看流程圖(我啥時候能畫出好一點的架構圖呢?)

詳解

先說TCP/IP軟硬件通信吧,這個相對容易理解,也是圖的右側,加一個Handler去獲取數(shù)據(jù),硬件和服務器有對應的協(xié)議,我這邊的協(xié)議是幀頭+ID+控制類型+數(shù)據(jù)+加密+幀尾,得到正確數(shù)據(jù)既連接為正常的,那就保持正常通信,否則一律殺死連接??刂祁愋臀覍懙帽容^粗糙,用switch,中間可能有數(shù)據(jù)的CRUD操作等,使用ScheduledFuture起一個新線程去執(zhí)行原生的JDBC,后面可以改為異步執(zhí)行(如果不需要實時的話,那就可以用JPA注入了。)

接著是聊天應用的通信,還是一個自定義的Handler不過是Object,具體后面可以使用instanceof去做判斷,對于TextWebSocket類型的就做普通的文字聊天處理,而WebSocketFrame且同時也是BinaryWebSocketFrame的就做圖片處理,你可以直接返回給客戶端,也可以保存到本地,如果返回客戶端的話,對于ByteBuf而言需要加一個retain()方法,不然會報錯的。

預留BUG

其余的就是可能善存的一些BUG了

io.netty.handler.codec.CorruptedFrameException: Max frame length of 65536 has been exceeded.
圖片過大,需要在前端做圖片上傳壓縮

Uncaught TypeError: msg.substring is not a function at WebSocket.socket.onmessage (newChat.js:38)
前端代碼的一點問題,不影響項目正常運行

java.io.IOException: 遠程主機強迫關閉了一個現(xiàn)有的連接。
TCP客戶端連接主動關閉,不影響,良性報錯
效果

效果在上面的視頻看到了?。?!(請移步公眾號,這里給圖片)

還不去Star 然后自己泡一下?

地址:https://github.com/UncleCatMy...

項目名:UncleCatMySelf/InChat

如果本文對你有所幫助,歡迎關注本人技術公眾號,謝謝。

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://m.hztianpu.com/yun/77211.html

相關文章

  • 如何做一個自己的開源聊天項目?(仿微信)

    摘要:一個輕量級高效率的支持聊天與物聯(lián)網(wǎng)的通訊框架從月初到現(xiàn)在已經(jīng)大約已經(jīng)三個月了,由于一直沒有時間與精力很好的維護這個項目,心里一直有所歉意。希望本項目對你有所幫助,我的目標暫定,一個小眾加物聯(lián)網(wǎng)的開源通訊項目。 篇幅較長,感謝閱讀。 萬事開頭難 在我決定做開源是因為自身工作接觸到大多數(shù)的項目都是基于開源大佬寫的框架,自覺慚愧,工作以來一直忙于業(yè)務與功能實現(xiàn),多多少少做過的幾個項目也沒能抽...

    Zachary 評論0 收藏0
  • 支持成千上萬的并發(fā)客戶端的系統(tǒng)底層框架

    摘要:而也因此引出了各種開源的大框架,它們各有優(yōu)缺點,其中大多數(shù)與分布式系統(tǒng)相關聯(lián)。而在網(wǎng)絡編程領域,或許才是真正的一枝獨秀它掌控著高級的能力,并將其隱藏在一個易于使用的之后。 Netty?。?! 寫過一段時間的代碼后,大多數(shù)人都會學到:直接使用底層的APi暴露了復雜性,并且引入了對往往供不應求的技能的關鍵性依賴,當然,學過Java的朋友或者其他語言也知道,面向?qū)ο蟮母拍睿河幂^簡單的抽象隱藏底...

    nevermind 評論0 收藏0
  • 后端好書閱讀與推薦(續(xù)三)

    摘要:后端好書閱讀與推薦系列文章后端好書閱讀與推薦后端好書閱讀與推薦續(xù)后端好書閱讀與推薦續(xù)二后端好書閱讀與推薦續(xù)三這里依然記錄一下每本書的亮點與自己讀書心得和體會,分享并求拍磚。然后又請求封鎖,當釋放了上的封鎖之后,系統(tǒng)又批準了的請求一直等待。 后端好書閱讀與推薦系列文章:后端好書閱讀與推薦后端好書閱讀與推薦(續(xù))后端好書閱讀與推薦(續(xù)二)后端好書閱讀與推薦(續(xù)三) 這里依然記錄一下每本書的...

    lauren_liuling 評論0 收藏0
  • 后端好書閱讀與推薦(續(xù)三)

    摘要:后端好書閱讀與推薦系列文章后端好書閱讀與推薦后端好書閱讀與推薦續(xù)后端好書閱讀與推薦續(xù)二后端好書閱讀與推薦續(xù)三這里依然記錄一下每本書的亮點與自己讀書心得和體會,分享并求拍磚。然后又請求封鎖,當釋放了上的封鎖之后,系統(tǒng)又批準了的請求一直等待。 后端好書閱讀與推薦系列文章:后端好書閱讀與推薦后端好書閱讀與推薦(續(xù))后端好書閱讀與推薦(續(xù)二)后端好書閱讀與推薦(續(xù)三) 這里依然記錄一下每本書的...

    ckllj 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<