您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何搭建Springboot+TCP監聽服務器,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
最近從eclipese轉到idea,也從SpringMVC轉到Springboot,重新搭建了一個基于Springboot的TCP監聽。話不多說,直接上圖。
這邊是監聽的文件夾,其中,EchoThread是處理上傳信息的線程,SocketPool是用來存放socket的,SpringListener是隨項目啟動的TCP監聽程序。
1.先來說說這個SpringListener
首先要做的第一點就是監聽隨項目啟動,springboot提供了兩種方案,第一種就是像這樣直接繼承CommandLineRunner,還有另外一種嘛,我也沒用過,這里就多說了。
隨項目啟動后,要做的就是監聽端口了,和所有的tcp監聽一樣,對著指定的端口直接new一個sever,然后while循環監聽,把監聽到的socket直接拋給信息處理的線程去處理。唯一不同的是,這邊在傳遞的是時候,多傳了一個數據庫的接口。因為接下來的線程類作為普通類是沒辦法實現對數據庫service層的調用(注:這邊其實是有辦法實現的,只不過實現起來比較麻煩,所以我這邊直接在監聽部分給了一個接口,比較省事。后續可能也會更方便的方案,之后再討論)。
線程處理也沒什么特別的,把socket和service拿過來,循環監聽,根據傳過來的唯一設備號,再把socket捆綁到一起,放到SocketPool里面。
存放好之后,后續就可以在controller里面直接調用socket進行交互。
異常直接關閉連接。
關于如何搭建Springboot+TCP監聽服務器就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。