springboot下 创建TCO客户端,并发送消息


import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;import java.io.*;
import java.net.Socket;/*** 请求tcp接口** @author Mr丶s* @date 2024/7/10 下午3:03* @description*/
@Slf4j
@Service
public class TcpClientService {private Socket socket;private PrintWriter out;private BufferedReader in;/*** 创建链接** @param ip* @param port*/public synchronized void startConnection(String ip, int port) {if (socket == null || socket.isClosed()) {try {socket = new Socket(ip, port);out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()), true);in = new BufferedReader(new InputStreamReader(socket.getInputStream()));} catch (IOException e) {throw new RuntimeException(e);}}}/*** 发送消息** @param message* @return* @throws Exception*/public synchronized String sendMessage(String message) {String response = null;try {if (socket == null || socket.isClosed()) {throw new IllegalStateException("Connection is closed. Please start the connection first.");}out.println(message);response = in.readLine();} catch (IOException e) {throw new RuntimeException(e);}return response;}/*** 关闭链接** @throws Exception*/public synchronized void stopConnection() throws Exception {if (socket != null && !socket.isClosed()) {in.close();out.close();socket.close();}}/*** 判断链接是否在线** @return*/public boolean isConnectionActive() {return socket != null && !socket.isClosed();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/44860.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Office里面无缝使用任何一家AI大模型,免费的!

昨天一个朋友说他在Word里面,用了一个插件,可以在右侧和AI对话,然后把AI生成的内容载入到左边的文档中。 我当时心理的想法:我这是穿越了吗?这不是我去年2月就实现,然后又扔掉的功能吗? 是的&a…

paddla模型转gguf

在使用ollama配置本地模型时,只支持gguf格式的模型,所以我们首先需要把自己的模型转化为bin格式,本文为paddle,onnx,pytorch格式的模型提供说明,safetensors格式比较简单请参考官方文档,或其它教…

Springboot自习室在线预约系统-计算机毕业设计源码050000

摘 要 远程预约是一种全新的网络租用方式,它通过互联网突破了时间和空间限制,实现了便捷快速的预约与管理功能。在对数据信息有效组织并整合了一定使用功能后,远程预约系统可以方便地实现预约与取消,以及信息查询等功能。经过本人…

vscode gitee问题

如果提交报user.name和user.email错误时,在本地工作目录中.git隐藏文件夹中,config文件添加,添加的名字和email地址--远程git仓库的登录名字和email地址。 [user] name xxx email xxx 分支合并:是把别的分支合并到所在分支。

2024最适合小白的Midjourney教程,值得收藏!

一、Midjourney 的提示词 1、提示可以包括一个或多个图像 URL、多个文本短语以及一个或多个参数 1)Image Prompts(图像提示):可以将图像 URL 添加到提示中以影响最终结果的样式和内容。图像 URL 始终出现在提示的前面。文件应以.…

配置 Node.js 内存限制

配置 Node.js 内存限制 Node.js 应用程序通常需要配置堆内存的大小以优化性能和避免内存溢出问题。你可以通过命令行参数、环境变量或系统属性来设置 Node.js 的内存限制。下面将分别介绍在 Windows、Linux 和 macOS 系统下的配置方法。 Windows 系统 1. 命令行参数方式 在…

爆款文案管理系统设计

设计一个爆款文案管理系统,目标是帮助营销团队高效地创建、管理并分析吸引人的文案,以提升产品或服务的市场吸引力和销售转化率。以下是一些关键功能和设计考量点: 1. 用户友好界面 简洁直观的界面:确保系统界面清晰&#xff0c…

广告监测中的c2s/s2s,点击同步/异步监测

在 ADX 中,监测上报以上报源区分为两种,c2s 和 s2s 。 C2S(Client to Server):由用户端(APP)上报给第三方监测平台的服务器 S2S(server to server):由用户端(APP&#xf…

vue3项目打包的时候,怎么区别测试环境,和本地环境

在Vue 3项目中区别测试环境和本地环境,并标记接口的方法可以通过环境变量来实现。 首先,你可以在你的项目根目录下创建一个.env文件,并定义你的环境变量。比如,你可以创建.env.local作为本地环境的配置文件,.env.test…

【Win10 JDK环境配置】

1.JDK下载地址 jdk下载1:http://www.kkx.net/zt/jdk.html jdk下载2:https://www.oracle.com/cn/java/technologies/downloads/#jdk17-windows 2.jdk安装:双击.exe文件打开安装器按步骤安装 3.配置环境变量 新建系统变量JAVA_HOME:D:\java11\jdk-11 将J…

intel万兆网卡固件下载方法

客户新安装的机器上含有X710和E810两种万兆网卡,根据vmware的兼容性列表,需要安装对应的驱动和固件,驱动从vmware/broadcom官网下载,固件则需要从intel官网下载。 在intel support页面里,找到网卡的型号: …

uni-app/vue项目如何封装全局消息提示组件

效果图&#xff1a; 第一步&#xff1a;封装组件和方法&#xff0c;采用插件式注册&#xff01; 在项目目录下新建components文件夹&#xff0c;里面放两个文件&#xff0c;分别是index.vue和index.js. index.vue&#xff1a; <template><div class"toast&quo…

【C++报错已解决】Invalid Use of Incomplete Type

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 引言&#xff1a;一、问题描述1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一&#xff1a;完整类型定义2.2 方法二…

idea:解决Maven报错 Properties in parent definition are prohibited

在父pom文件中定义了 <dhversion>1.0-SNAPSHOT</dhversion> 在子模块中引用 <parent><groupId>com.douhuang</groupId><artifactId>douhuang-springcloud</artifactId><version>${dhversion}</version> </parent&…

安卓文件上传照片单张及多张照片上传实现

一、首先导入对应库 //网络请求库 implementation com.squareup.okhttp3:okhttp:3.9.0//Gson解析 implementation com.google.code.gson:gson:2.10.1 二、然后就是们实现上传方法 UploaderTool.java import android.util.Log;import com.google.gson.Gson;import java.io.File…

算法day03 桶排序 数据结构分类 时间复杂度 异或运算

学数据结构之前 必看_哔哩哔哩_bilibili 1.认识复杂度和简单排序算法_哔哩哔哩_bilibili 桶排序&#xff08;Bucket sort&#xff09;------时间复杂度为O(n)的排序方法&#xff08;一&#xff09;_多桶排序时间复杂度-CSDN博客 桶排序 测试场景&#xff1a;数组中有10000个随…

threeJS 为模型增加精灵图

前言 之前使用css3DRender创建图片弹框&#xff0c;在旋转模型到背面时&#xff0c;弹框也背对模型&#xff0c;这与UI要求的效果有出入。考虑将css3DRender换成css2Drender,但是可能是模型的问题&#xff0c;将弹框加入到模型的子集&#xff0c;旋转模型时弹框发生比较明显的…

deep learning 环境配置

1 NVIDIA驱动安装 ref link: https://blog.csdn.net/weixin_37926734/article/details/123033286 2 cuda安装 ref link: https://blog.csdn.net/qq_63379469/article/details/123319269 进去网站 https://developer.nvidia.com/cuda-toolkit-archive 选择想要安装的cuda版…

研华PCI-1711板卡在WIN10教育版系统无法安装驱动

主要配置&#xff1a;CHIPSET AIMB-705G2、CPU I5-6500、WIN10 教育版、PCI-1711 问题描述&#xff1a;使用官网下载的驱动XNiva&#xff0c;驱动包安装完成后板卡无法正常识别。解决方法&#xff1a;正常安装无法情况下只能尝试强制安装数字签名&#xff0c;步骤如下。 XNiv…

Gunicorn:Python Web应用的高效生产服务器

引言 在现代Web开发中&#xff0c;部署Python Web应用通常需要一个既高效又可靠的服务器。Gunicorn&#xff08;Green Unicorn&#xff09;是一个Python WSGI HTTP服务器&#xff0c;它简单、快速且易于使用&#xff0c;非常适合生产环境。本文将介绍Gunicorn的基本概念、安装…