Springboot+TCP監(jiān)聽服務(wù)器搭建過程圖解
最近從eclipese轉(zhuǎn)到idea,也從SpringMVC轉(zhuǎn)到Springboot,重新搭建了一個(gè)基于Springboot的TCP監(jiān)聽。話不多說,直接上圖。
這邊是監(jiān)聽的文件夾,其中,EchoThread是處理上傳信息的線程,SocketPool是用來存放socket的,SpringListener是隨項(xiàng)目啟動(dòng)的TCP監(jiān)聽程序。
1.先來說說這個(gè)SpringListener
首先要做的第一點(diǎn)就是監(jiān)聽隨項(xiàng)目啟動(dòng),springboot提供了兩種方案,第一種就是像這樣直接繼承CommandLineRunner,還有另外一種嘛,我也沒用過,這里就多說了。
隨項(xiàng)目啟動(dòng)后,要做的就是監(jiān)聽端口了,和所有的tcp監(jiān)聽一樣,對(duì)著指定的端口直接new一個(gè)sever,然后while循環(huán)監(jiān)聽,把監(jiān)聽到的socket直接拋給信息處理的線程去處理。唯一不同的是,這邊在傳遞的是時(shí)候,多傳了一個(gè)數(shù)據(jù)庫的接口。因?yàn)榻酉聛淼木€程類作為普通類是沒辦法實(shí)現(xiàn)對(duì)數(shù)據(jù)庫service層的調(diào)用(注:這邊其實(shí)是有辦法實(shí)現(xiàn)的,只不過實(shí)現(xiàn)起來比較麻煩,所以我這邊直接在監(jiān)聽部分給了一個(gè)接口,比較省事。后續(xù)可能也會(huì)更方便的方案,之后再討論)。
線程處理也沒什么特別的,把socket和service拿過來,循環(huán)監(jiān)聽,根據(jù)傳過來的唯一設(shè)備號(hào),再把socket捆綁到一起,放到SocketPool里面。
存放好之后,后續(xù)就可以在controller里面直接調(diào)用socket進(jìn)行交互。
異常直接關(guān)閉連接。
到此這篇關(guān)于Springboot+TCP監(jiān)聽服務(wù)器搭建過程圖解的文章就介紹到這了,更多相關(guān)Springboot+TCP監(jiān)聽服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring?Boot的優(yōu)點(diǎn)及項(xiàng)目創(chuàng)建步驟詳解
這篇文章主要介紹了Spring?Boot的優(yōu)點(diǎn)及項(xiàng)目創(chuàng)建步驟,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09解決springboot啟動(dòng)成功,但訪問404的問題
這篇文章主要介紹了解決springboot啟動(dòng)成功,但訪問404的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07深入淺析Spring Security5中默認(rèn)密碼編碼器
這篇文章主要介紹了Spring Security5中默認(rèn)密碼編碼器,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-05-05java byte數(shù)組與16進(jìn)制間相互轉(zhuǎn)換的示例
這篇文章主要介紹了java byte數(shù)組與16進(jìn)制間相互轉(zhuǎn)換的示例,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2020-10-10java控制臺(tái)實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(集合版)
這篇文章主要為大家詳細(xì)介紹了java控制臺(tái)實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的集合版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04Java反射學(xué)習(xí) getClass()函數(shù)應(yīng)用
所謂反射,可以理解為在運(yùn)行時(shí)期獲取對(duì)象類型信息的操作,本文將詳細(xì)介紹,需要的朋友可以參考下2012-12-12Java多線程Callable和Future接口區(qū)別
這篇文章主要介紹了Java多線程Callable和Future接口區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04