这篇文章将为大家详细讲解有关如何搭建Springboot+TCP监听服务器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联公司是专业的金寨网站建设公司,金寨接单;提供网站设计制作、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行金寨网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!最近从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监听服务器就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。