Springboot+TCP监听服务器搭建过程图解

最近从eclipese转到idea,也从SpringMVC转到Springboot,重新搭建了一个基于Springboot的TCP监听。话不多说,直接上图。

Springboot+TCP监听服务器搭建过程图解_第1张图片

这边是监听的文件夹,其中,EchoThread是处理上传信息的线程,SocketPool是用来存放socket的,SpringListener是随项目启动的TCP监听程序。

1.先来说说这个SpringListener

Springboot+TCP监听服务器搭建过程图解_第2张图片

首先要做的第一点就是监听随项目启动,springboot提供了两种方案,第一种就是像这样直接继承CommandLineRunner,还有另外一种嘛,我也没用过,这里就多说了。

随项目启动后,要做的就是监听端口了,和所有的tcp监听一样,对着指定的端口直接new一个sever,然后while循环监听,把监听到的socket直接抛给信息处理的线程去处理。唯一不同的是,这边在传递的是时候,多传了一个数据库的接口。因为接下来的线程类作为普通类是没办法实现对数据库service层的调用(注:这边其实是有办法实现的,只不过实现起来比较麻烦,所以我这边直接在监听部分给了一个接口,比较省事。后续可能也会更方便的方案,之后再讨论)。

Springboot+TCP监听服务器搭建过程图解_第3张图片

线程处理也没什么特别的,把socket和service拿过来,循环监听,根据传过来的唯一设备号,再把socket捆绑到一起,放到SocketPool里面。

Springboot+TCP监听服务器搭建过程图解_第4张图片

存放好之后,后续就可以在controller里面直接调用socket进行交互。

Springboot+TCP监听服务器搭建过程图解_第5张图片

异常直接关闭连接。

到此这篇关于Springboot+TCP监听服务器搭建过程图解的文章就介绍到这了,更多相关Springboot+TCP监听服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Springboot+TCP监听服务器搭建过程图解)