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监听服务器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • springboot添加https服务器的方法

    什么是https 要说https我们得先说SSL(Secure Sockets Layer,安全套接层),这是一种为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密.SSL协议可以分为两层:SSL记录协议(SSL Record Protocol),它建立在可靠的传输协议如TCP之上,为高层协议提供数据封装.压缩.加密等基本功能支持:SSL握手协议(SSL Handshake Protocol),它建立在SSL记录协议之上,用于在实际数据传输开始之前,通信双方进行身

  • SpringBoot上传文件到本服务器 目录与jar包同级问题

    前言 看标题好像很简单的样子,但是针对使用jar包发布SpringBoot项目就不一样了. 当你使用tomcat发布项目的时候,上传文件存放会变得非常简单,因为你可以随意操作项目路径下的资源.但是当你使用SpringBoot的jar包发布项目的时候,你会发现,你不能像以前一样操作文件了.当你使用File file = new File()的时候根本不知道这个路径怎么办.而且总不能很小的项目也给它构建一个文件服务器吧.所以这次就来解决这样的问题. 不想知道细节的,可以直接跳转到最后封装的部分,里面

  • 使用idea搭建springboot initializer服务器的问题分析

    问题描述 最近我在搭建springboot项目时,连接公司网线时发现idea一直新建不了项目,浏览器访问https://start.spring.io也访问不了,但是自己手机热点是可以正常访问的,猜想是被拦截了,所以为了方便,参考网上教程,我打算在自己的服务器上搭建服务,在这里我的服务器是Centos7.6 搭建过程 首先下载项目,终端执行 git clone https://github.com/spring-io/initializr.git 如果没有git ,那么需要先进行安装 sudo

  • springboot在服务器上的几种启动方式(小结)

    一.使用内置的tomcat,通过java -jar的方式启动 比如:java -jar bms.jar 但是这种启动方式 一旦关闭控制台 或者crtl+c 退出 此时应用就关闭了 所以我们需要换种方式 springboot中的maven插件,提供了一种很方便的类似于shell的开启.关闭.重启服务的操作.而且这种启动方式是让项目在后台运行的,关闭shell也不会使项目停止运行 1.首先,项目的pom添加下面的插件,然后maven install <build> <plugins>

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

    最近从eclipese转到idea,也从SpringMVC转到Springboot,重新搭建了一个基于Springboot的TCP监听.话不多说,直接上图. 这边是监听的文件夹,其中,EchoThread是处理上传信息的线程,SocketPool是用来存放socket的,SpringListener是随项目启动的TCP监听程序. 1.先来说说这个SpringListener 首先要做的第一点就是监听随项目启动,springboot提供了两种方案,第一种就是像这样直接继承CommandLineRu

  • SpringBoot如何监听redis Key变化事件案例详解

    目录 一 .功能概览 二.事件类型 三.配置 三.案例 代码 新增和修改都是set指令 删除 过期 总结 键空间通知(keyspace notification) 一 .功能概览 键空间通知使得客户端可以通过订阅频道或模式, 来接收那些以某种方式改动了 Redis key变化的事件. 所有修改key键的命令. 所有接收到 LPUSH key value [value …] 命令的键. db数据库中所有已过期的键. 事件通过 Redis 的订阅与发布功能(pub/sub)来进行分发, 因此所有支持

  • Linux下Redis服务器搭建过程

    系统环境 操作系统:CentOS 6.9 redis版本:redis-4.0.2安装步骤 1,安装预环境 运行以下命令安装预环境. [root@redis02 redis-4.0.2]# yum -y install gcc make 2,下载redis源代码文件并解压缩 下载完redis源代码后,运行以下命令进行解压缩. [root@redis02 softwares]# tar -xzf redis-4.0.2.tar.gz 3,redis编译 运行make命令进行编译. make命令执行完

  • vue脚手架搭建过程图解

    vue脚手架是个好东西,能够快速搭建vue单页面应用,vue是基于node环境的,所以要先安装node,去官网下载安装就可以. 进入某个文件夹的命令为: 查看node版本: 搭建步骤为: 出现下图说明搭建成功: 按照提示输入: 如果出现下图说明运行成功: 在浏览器中按照指示输入: 运行结果为: ok,至此vue脚手架就搭建完成了! 总结 以上所述是小编给大家介绍的vue脚手架搭建过程图解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持!

  • Windows10下hyperledger fabric1.4环境搭建过程图解

    目录Windows10下hyperledger fabric1.4环境搭建PrerequisitesWindows10专业版Git bashcURLGO Progamming LanguageDocker and Docker-composeInstall Samples, Binaries and Docker Imagesshared drivers执行 Windows10下hyperledger fabric1.4环境搭建 Prerequisites 大部分内容参考官方配置 Windows

  • springboot整合jquery和bootstrap框架过程图解

    这篇文章主要介绍了springboot整合jquery和bootstrap框架过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 <dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>3.4.1</version> </dependency>

  • SpringBoot多模块项目框架搭建过程解析

    这篇文章主要介绍了SpringBoot多模块项目框架搭建过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 创建根项目,New Project 创建一个名为 sms-bomber 的 SpringBoot 新项目,打包为 JAR 的即可,这里只添加 Lombok 与 spring-boot-starter-web 依赖,这两个依赖会传递给所有子模块,删除创建完成的项目中的 .mvn\ src\ mvnw mvnw.cmd 创建启动模块,根目

  • Python脚本实现监听服务器的思路代码详解

    开前准备 Schedule使用方法. 基本的Linux操作 Python3环境 Step1 首先我得先假设你会了如何每十五分钟去运行一次检查这件事情.(后期我会补上如何去做定时任务,相信我!) 代码量比较少,选择在Linux环境下直接写脚本. import os #使用os的popen执行bash命令 content=os.popen("lsof -i:8080").read() 输出一下content看看,就是命令行执行输出的内容,看关键词webcache,但是输出的已经是文本文件了

  • 浅谈Spring-boot事件监听

    springboot的事件监听:为bean之间的消息通信提供支持.当一个bean做完一件事以后,通知另一个bean知晓并做出相应处理.这时,我们需要另一个bean,监听当前bean所发生的事件. 实现步骤:四个步骤,四种方式 第一种方式 1.自定义事件,一般是继承ApplicationEvent抽象类 2.定义事件监听器,一般是实现ApplicationListener接口 3.1)把监听器加入到SpringApplication中:ApplicationListener.addListener

  • springboot 事件监听的实现方法

    定义事件 @Getter public class TestEvent extends ApplicationEvent { private String msg; public TestEvent(Object source, String msg) { super(source); this.msg = msg; } } 定义事件监听(注解方式) @Component public class TestListen { @EventListener public void testListe

随机推荐