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

 更新时间:2020年10月27日 15:40:29   作者:Karoy丶  
这篇文章主要介绍了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监听服务器搭建过程图解的文章就介绍到这了,更多相关Springboot+TCP监听服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java 中用split分割字符串,最后的空格等不被拆分的方法

    java 中用split分割字符串,最后的空格等不被拆分的方法

    下面小编就为大家带来一篇java 中用split分割字符串,最后的空格等不被拆分的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • MyBatis全局映射文件实现原理解析

    MyBatis全局映射文件实现原理解析

    这篇文章主要介绍了MyBatis全局映射文件实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • JAVA String类中的一些常用方法示例详解

    JAVA String类中的一些常用方法示例详解

    在我们的工作中,常常要对一个字符串进行一些操作,这里提供一些常用的方法,常常需要这些方法进行组合处理字符串,这篇文章主要给大家介绍了关于JAVA String类中的一些常用方法,需要的朋友可以参考下
    2023-10-10
  • 谷歌二维码引擎com.google.zxing二维码生成与解析

    谷歌二维码引擎com.google.zxing二维码生成与解析

    这篇文章主要给大家介绍了关于谷歌二维码引擎com.google.zxing二维码生成与解析的相关资料,zxing是google开源的二维码生成和解析工具,需要的朋友可以参考下
    2023-07-07
  • mybatis深入讲解resultMap的定义及用法

    mybatis深入讲解resultMap的定义及用法

    MyBatis的每一个查询映射的返回类型都是ResultMap,当我们提供返回类型属性是resultType时,MyBatis会自动给我们把对应值赋给resultType所指定对象的属性,当我们提供返回类型是resultMap时,将数据库中列数据复制到对象的相应属性上,可以用于复制查询,两者不能同时用
    2022-04-04
  • SpringBoot项目在启动后自动关闭的实现

    SpringBoot项目在启动后自动关闭的实现

    我们在写spring boot web项目时,有时会遇到启动后立即关闭的情况, 本文主要介绍了SpringBoot项目在启动后自动关闭的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • 使用迭代器Iterator遍历Collection问题

    使用迭代器Iterator遍历Collection问题

    这篇文章主要介绍了使用迭代器Iterator遍历Collection问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java OpenCV利用KNN算法实现图像背景移除

    Java OpenCV利用KNN算法实现图像背景移除

    这篇文章主要为大家介绍了Java OpenCV利用K最邻近(KNN,K-NearestNeighbor)分类算法实现图像背景移除的示例代码,需要的可以参考一下
    2022-01-01
  • Java多线程锁机制相关原理实例解析

    Java多线程锁机制相关原理实例解析

    这篇文章主要介绍了Java多线程锁机制相关原理实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 详谈java线程与线程、进程与进程间通信

    详谈java线程与线程、进程与进程间通信

    下面小编就为大家带来一篇详谈java线程与线程、进程与进程间通信。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04

最新评论