Java实现模拟键盘鼠标操作工具

 更新时间:2025年03月07日 08:28:22   作者:Katie。  
在桌面自动化、软件测试、游戏开发以及远程控制等领域中,模拟键盘和鼠标操作是一项非常实用的技术,本文将使用 Java 实现一个模拟键盘与鼠标操作的工具,希望对大家有所帮助

1. 项目介绍

1.1 项目背景

在桌面自动化、软件测试、游戏开发以及远程控制等领域中,模拟键盘和鼠标操作是一项非常实用的技术。通过程序自动模拟人类用户的操作,可以完成以下任务:

  • 自动化测试:在用户界面测试中,自动模拟键盘输入和鼠标点击可以大大提高测试效率和准确率,节省大量手工操作的时间。
  • 桌面自动化:利用模拟操作可以实现批量任务自动化,例如自动填表、自动登录和批量文件处理等。
  • 远程控制:在某些远程管理工具中,能够通过程序模拟键盘和鼠标输入,完成远程系统的操作。
  • 游戏机器人:在游戏开发与自动化操作中,模拟用户输入可以用于构建辅助工具或测试脚本。
  • 教学和研究:通过实现键盘和鼠标模拟,有助于理解操作系统输入事件的机制,掌握编程接口和自动化技术。

Java 作为一种跨平台的编程语言,为我们提供了 java.awt.Robot 类,允许我们在桌面环境下模拟鼠标和键盘操作。利用该类,我们可以模拟鼠标移动、点击、键盘按键和释放等操作,从而实现自动化控制。

1.2 项目目标

本项目的主要目标是使用 Java 实现一个模拟键盘与鼠标操作的工具,具体目标包括:

  • 模拟键盘操作:实现按下和释放指定按键、输入文本等功能。
  • 模拟鼠标操作:实现鼠标移动、单击、双击、右键点击、拖动等操作。
  • 定时与延时控制:支持在操作中添加延时,使模拟操作更符合实际用户操作的节奏。
  • 图形化界面(可选):设计一个简单的图形化界面(例如 Swing),让用户可以配置和触发模拟操作,方便测试和实际使用。
  • 完整代码示例与详细注释:整合所有代码在一个 Java 文件中,并附有详细注释,解释每个部分的实现原理与逻辑。
  • 代码解读与项目总结:详细说明主要方法的功能和用途,并对项目实现过程和扩展方向进行总结讨论。

通过本项目,你不仅可以学习如何使用 Java 的 Robot 类模拟键盘与鼠标操作,还能深入了解桌面自动化的原理和实现技巧,为自动化测试、远程控制等领域的开发提供实用参考。

2. 相关理论与背景知识

在实现模拟键盘与鼠标的过程中,需掌握以下几个关键理论与知识点:

2.1 Java AWT Robot 类

Java 提供了 java.awt.Robot 类来生成原始的输入事件。Robot 类主要提供以下功能:

1.鼠标操作:

  • mouseMove(int x, int y):移动鼠标到屏幕指定位置。
  • mousePress(int buttons) 和 mouseRelease(int buttons):模拟鼠标按下和释放事件,参数指定按钮(例如,InputEvent.BUTTON1_DOWN_MASK 表示左键)。
  • mouseWheel(int wheelAmt):滚动鼠标滚轮。

2.键盘操作:

  • keyPress(int keycode) 和 keyRelease(int keycode):模拟键盘按键按下和释放,参数是 KeyEvent 类中定义的键码,例如 KeyEvent.VK_A 表示字母 A。
  • Robot 类能够模拟复杂的按键组合,如 Ctrl+C、Alt+Tab 等。

3.延时:

  • delay(int ms) 方法可以让 Robot 类等待一定时间,帮助调整操作节奏,使模拟更符合实际操作速度。
  • Robot 类可以生成低级别的输入事件,从而实现自动化操作,但需要注意,使用 Robot 类需要确保程序在桌面环境下运行,并且具有适当的权限。部分系统或虚拟机配置可能限制 Robot 类的使用。

2.2 桌面自动化原理

模拟键盘与鼠标操作实际上就是模拟操作系统层面输入事件。操作系统通过硬件中断与输入设备驱动,将实际输入(例如键盘敲击、鼠标点击)传递到应用程序。Robot 类则直接调用操作系统接口来生成这些输入事件,从而达到自动化的效果。

2.3 多线程与延时控制

在自动化操作中,适当的延时控制非常重要。连续的输入事件如果没有间隔,可能无法被系统正确识别或执行。Java 中的 Thread.sleep() 方法和 Robot 类自带的 delay() 方法都可以用于实现延时,确保各个操作之间有适当的间隔。

2.4 图形化界面与用户交互(可选)

虽然核心功能可以在命令行下实现,但为了提升用户体验,可以利用 Java Swing 或 JavaFX 构建一个简单的图形界面,让用户可以:

  • 选择要执行的模拟操作(如鼠标移动、点击、键盘输入)。
  • 设置操作参数(如坐标、延时、按键等)。
  • 预览操作效果和日志信息。

图形化界面将使模拟操作更直观,便于调试和测试。

2.5 安全与权限

使用 Robot 类模拟输入操作可能会干扰用户的正常操作,因此应谨慎使用。确保在调试和实验环境中运行,避免在生产环境中对用户造成不便。此外,有些操作系统可能会限制机器人程序的使用,以防止恶意软件自动控制系统。

3. 项目实现思路

本项目实现模拟键盘与鼠标操作主要分为以下几个部分:

3.1 模拟鼠标操作

鼠标移动:使用 Robot 的 mouseMove(int x, int y) 方法实现鼠标移动。

需要根据屏幕分辨率确定目标坐标,并利用延时函数模拟人类操作。

鼠标点击:使用 mousePress(int buttons) 和 mouseRelease(int buttons) 模拟鼠标点击。

可实现单击、双击以及右键点击等多种操作。

鼠标滚轮:使用 mouseWheel(int wheelAmt) 模拟鼠标滚轮滚动,用于实现页面滚动等功能。

3.2 模拟键盘操作

按键按下与释放:利用 Robot 的 keyPress(int keycode) 和 keyRelease(int keycode) 方法模拟单个按键的操作。

需要通过 KeyEvent 类获取键码,例如 KeyEvent.VK_ENTER 表示回车键。

文本输入:实现将字符串转换为按键操作。即遍历字符串中的每个字符,根据字符对应的键码进行按下和释放操作,利用适当的延时确保按键生效。

组合按键:例如 Ctrl+C、Alt+F4 等操作,可以先按下组合键(例如 Ctrl),再按下目标键,最后释放目标键和组合键,模拟复杂按键操作。

3.3 定时与延时控制

在连续模拟操作时,使用 Robot 的 delay(int ms) 或 Thread.sleep(ms) 实现延时。

适当调整各个操作之间的延时,确保系统有足够时间处理输入事件。

3.4 代码结构设计

将所有功能整合在一个工具类中,例如 KeyboardMouseSimulator,该类包含以下主要方法:

  • simulateMouseMove(int x, int y):模拟鼠标移动到指定屏幕坐标。
  • simulateMouseClick(int button, int delayMs):模拟鼠标点击操作,参数指定点击按钮(例如左键、右键)和延时(点击前后延时)。
  • simulateMouseDoubleClick(int button, int delayMs):模拟鼠标双击操作,依次调用点击方法。
  • simulateMouseWheel(int wheelAmt):模拟鼠标滚轮滚动。
  • simulateKeyPress(int keycode, int delayMs):模拟单个按键按下和释放操作,包含按下延时和释放延时。
  • simulateTextInput(String text, int delayMs):将字符串转换为按键操作,依次模拟每个字符的输入。

同时,在主函数中提供一个交互式示例,展示如何调用上述方法模拟键盘和鼠标操作。

3.5 异常处理与安全提示

捕获并处理 AWTException 和 InterruptedException,确保程序在遇到异常时能够给出详细提示,并安全退出。

注意 Robot 类在某些系统上可能需要特定权限,确保在桌面环境下运行该程序。

强调该程序仅用于合法用途,切勿用于恶意自动化或干扰用户操作。

4. 完整代码示例

下面提供整合后的完整代码示例。代码中包含 KeyboardMouseSimulator 类和主函数示例,所有代码整合在一个 Java 文件中,并附有详细注释,逐步解释每个操作的实现细节。

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
 
/**
 * KeyboardMouseSimulator.java
 *
 * 本类实现了模拟键盘与鼠标操作的功能,利用 Java AWT 的 Robot 类。
 * 主要功能包括:
 * 1. 模拟鼠标移动、单击、双击和滚轮滚动操作;
 * 2. 模拟键盘按键按下、释放以及文本输入操作;
 * 3. 提供延时控制,确保操作之间有合理的时间间隔。
 *
 * 代码中附有详细注释,解释了每个方法的实现逻辑和关键操作。
 */
public class KeyboardMouseSimulator {
    private Robot robot;
 
    /**
     * 构造方法,初始化 Robot 对象。
     *
     * @throws AWTException 如果初始化 Robot 失败
     */
    public KeyboardMouseSimulator() throws AWTException {
        robot = new Robot();
        // 设置自动延时,确保每个操作之间有间隔
        robot.setAutoDelay(50);
    }
 
    /**
     * 模拟鼠标移动到屏幕指定坐标
     *
     * @param x 目标屏幕坐标 x
     * @param y 目标屏幕坐标 y
     */
    public void simulateMouseMove(int x, int y) {
        robot.mouseMove(x, y);
    }
 
    /**
     * 模拟鼠标点击操作
     *
     * @param button 指定点击按钮,例如 InputEvent.BUTTON1_DOWN_MASK 表示左键
     * @param delayMs 点击前后的延时(毫秒)
     */
    public void simulateMouseClick(int button, int delayMs) {
        robot.delay(delayMs);
        robot.mousePress(button);
        robot.delay(delayMs);
        robot.mouseRelease(button);
        robot.delay(delayMs);
    }
 
    /**
     * 模拟鼠标双击操作
     *
     * @param button 指定点击按钮,例如 InputEvent.BUTTON1_DOWN_MASK 表示左键
     * @param delayMs 两次点击之间的延时(毫秒)
     */
    public void simulateMouseDoubleClick(int button, int delayMs) {
        simulateMouseClick(button, delayMs);
        simulateMouseClick(button, delayMs);
    }
 
    /**
     * 模拟鼠标滚轮滚动
     *
     * @param wheelAmt 滚动的刻度数,正值向下滚,负值向上滚
     */
    public void simulateMouseWheel(int wheelAmt) {
        robot.mouseWheel(wheelAmt);
    }
 
    /**
     * 模拟键盘按下与释放操作
     *
     * @param keycode 键盘按键代码,例如 KeyEvent.VK_A 表示字母 A
     * @param delayMs 按下和释放之间的延时(毫秒)
     */
    public void simulateKeyPress(int keycode, int delayMs) {
        robot.delay(delayMs);
        robot.keyPress(keycode);
        robot.delay(delayMs);
        robot.keyRelease(keycode);
        robot.delay(delayMs);
    }
 
    /**
     * 模拟文本输入操作
     *
     * 该方法将字符串中的每个字符依次转换为对应的键码,并调用 simulateKeyPress 方法进行输入。
     * 注意:本方法仅支持简单文本,对于大写字母、特殊符号需要额外处理(例如按下 Shift 键)。
     *
     * @param text 要输入的文本
     * @param delayMs 每个字符输入之间的延时(毫秒)
     */
    public void simulateTextInput(String text, int delayMs) {
        for (char ch : text.toCharArray()) {
            // 简单处理:假设输入字符为大写或小写字母或数字
            int keycode = KeyEvent.getExtendedKeyCodeForChar(ch);
            simulateKeyPress(keycode, delayMs);
        }
    }
 
    /**
     * 主函数:测试模拟键盘与鼠标操作
     *
     * 该方法展示如何使用 KeyboardMouseSimulator 模拟鼠标移动、点击、双击、滚轮滚动,
     * 以及键盘按键和文本输入。所有操作之间加入适当延时以确保执行效果。
     *
     * @param args 命令行参数(未使用)
     */
    public static void main(String[] args) {
        try {
            KeyboardMouseSimulator simulator = new KeyboardMouseSimulator();
            System.out.println("开始模拟鼠标操作...");
            // 模拟鼠标移动到屏幕坐标 (500, 300)
            simulator.simulateMouseMove(500, 300);
            // 模拟鼠标左键单击
            simulator.simulateMouseClick(InputEvent.BUTTON1_DOWN_MASK, 100);
            // 模拟鼠标左键双击
            simulator.simulateMouseDoubleClick(InputEvent.BUTTON1_DOWN_MASK, 100);
            // 模拟鼠标滚轮向下滚动 5 个刻度
            simulator.simulateMouseWheel(5);
 
            System.out.println("开始模拟键盘操作...");
            // 模拟按下回车键
            simulator.simulateKeyPress(KeyEvent.VK_ENTER, 100);
            // 模拟文本输入 "Hello, World!"
            simulator.simulateTextInput("Hello, World!", 100);
 
            System.out.println("模拟操作结束。");
        } catch (AWTException e) {
            System.err.println("初始化 Robot 失败:" + e.getMessage());
            e.printStackTrace();
        }
    }
}

5. 代码解读

下面对代码中主要方法的用途进行说明:

simulateMouseMove(int x, int y) 方法:该方法利用 Robot 类的 mouseMove 方法将鼠标移动到屏幕上指定的 (x, y) 坐标。它可以用于实现鼠标定位、自动点击等功能。

simulateMouseClick(int button, int delayMs) 方法:该方法模拟鼠标单击操作。通过调用 mousePress 和 mouseRelease 方法实现点击操作,并在操作前后加入 delay 延时,确保操作的可靠性和可见性。参数 button 用于指定要点击的鼠标按钮。

simulateMouseDoubleClick(int button, int delayMs) 方法:该方法通过连续调用 simulateMouseClick 方法两次,模拟鼠标双击操作。两次点击之间的延时参数可以调整,确保双击效果的实现。

simulateMouseWheel(int wheelAmt) 方法:该方法调用 Robot 类的 mouseWheel 方法,模拟鼠标滚轮滚动操作。参数 wheelAmt 指定滚动刻度,正值表示向下滚,负值表示向上滚。

simulateKeyPress(int keycode, int delayMs) 方法:该方法模拟单个键盘按键的按下与释放。通过调用 keyPress 和 keyRelease 方法实现单次按键操作,延时参数用于确保按键动作被系统正确捕捉。

simulateTextInput(String text, int delayMs) 方法:该方法用于模拟文本输入。首先将字符串转换为字符数组,然后逐个字符调用 simulateKeyPress 方法进行按键操作。该方法简单实现了文本输入,适合处理基本的字母、数字和部分符号输入。

main(String[] args) 方法:主函数展示了如何利用 KeyboardMouseSimulator 类模拟一系列键盘和鼠标操作。代码中依次调用模拟鼠标移动、点击、双击、滚轮滚动,以及键盘按键和文本输入操作,输出模拟操作的开始和结束提示。此方法为整个工具的演示入口,便于读者理解如何调用各个模拟方法。

6. 项目总结

6.1 项目意义

模拟键盘与鼠标操作在桌面自动化、测试、远程控制等领域具有广泛应用。通过本项目的实现,你可以掌握以下知识和技能:

  • 理解桌面自动化原理:深入了解如何利用 Java AWT Robot 类生成低级输入事件,模拟人类操作,实现在程序中自动操作鼠标与键盘。
  • 掌握 Java 的 Robot 类:通过本项目,熟悉 Robot 类的各种方法(如 mouseMove、mousePress、keyPress 等),以及如何利用延时控制操作节奏。
  • 提高编程实践能力:通过实现具体的自动化操作,掌握多线程(若需要扩展)、流操作、异常处理等关键技术,增强代码的健壮性和可维护性。
  • 应用场景探索:本项目为自动化测试、远程控制、游戏开发和桌面应用等领域提供了基础工具,同时为进一步构建图形化界面和复杂自动化系统打下基础。

6.2 项目实现回顾

本项目实现了一个基于 Java 的键盘与鼠标模拟工具,主要实现内容包括:

1.模拟鼠标操作:

  • 实现了鼠标移动、单击、双击和滚轮滚动。
  • 通过 Robot 类的 API 生成低级鼠标事件,并利用延时控制操作之间的间隔。

2.模拟键盘操作:

  • 实现了单个按键的按下与释放操作以及文本输入操作。
  • 利用 KeyEvent 获取按键代码,模拟连续按键操作。

3.延时与同步控制:

通过 Robot.delay() 方法以及代码中添加的延时逻辑,确保操作有足够时间被系统捕捉,避免过快操作引起的错误。

4.代码结构设计:

将所有功能封装在 KeyboardMouseSimulator 类中,提供简单明了的接口供调用。

主函数中展示了如何调用各个方法模拟具体操作,便于理解整体实现流程。

5.详细注释与代码解读:

  • 代码中每个方法都附有详细注释,解释了变量意义、操作逻辑和注意事项。
  • 代码解读部分只对主要方法的用途进行说明,帮助读者快速了解设计思想和核心实现。

6.3 项目扩展与优化

虽然本项目实现的是一个简单的键盘与鼠标模拟工具,但在实际应用中还有许多扩展和优化的方向:

图形化界面:

可使用 Swing 或 JavaFX 开发一个图形化界面,使用户可以直观地配置模拟操作参数(例如坐标、延时、按键组合等),并通过按钮触发操作。

组合按键和复杂操作:

  • 扩展对复杂键盘组合的支持,例如 Ctrl+Alt+Del、Shift+字母等,确保在模拟文本输入时能够处理大小写和符号转换。
  • 实现鼠标拖动操作,支持点击、拖动、释放等一系列连续动作。

多线程处理与同步:

  • 对于需要同时模拟多个操作的场景,可以设计多线程机制,确保不同操作不会互相干扰。
  • 增加线程间同步机制,确保关键操作的顺序性。

日志记录与调试:

增加日志记录功能,对每个模拟操作的参数、执行时间和结果进行详细记录,便于调试和问题追踪。

错误处理与安全提示:

  • 增加对 Robot 类异常情况的处理,提示用户确保程序在桌面环境下运行,并注意不要干扰正常用户操作。
  • 增加使用说明和警告提示,防止滥用模拟操作导致系统误操作。

跨平台支持:

  • 根据不同操作系统选择不同的默认键盘和鼠标操作,例如在 Windows 下使用 cmd.exe 进行远程控制时,可能需要模拟的按键组合与 Linux 下不同。
  • 提供平台检测和适配,增强工具的跨平台性。

6.4 实际应用场景

模拟键盘与鼠标操作在许多实际场景中都有应用,包括但不限于:

自动化测试:自动模拟用户操作,完成软件界面测试、功能验证、性能测试等,减少人工测试成本。

远程控制:通过程序模拟用户操作,实现远程桌面、远程服务器管理和自动化任务调度。

游戏与娱乐:用于开发游戏机器人、自动点击工具等,辅助玩家或进行自动化测试。

办公自动化:自动执行重复性工作,如自动填表、批量数据处理等,提高办公效率。

辅助技术:帮助身体不便的用户通过程序实现部分操作,提供更便捷的计算机使用方式。

7. 总结

本文详细介绍了如何使用 Java 实现模拟键盘与鼠标操作,从项目背景、相关理论、实现思路到完整代码示例,再到代码解读和项目总结,全面解析了如何利用 Java AWT Robot 类实现桌面自动化操作。主要结论如下:

项目背景与意义

  • 模拟键盘与鼠标操作在自动化测试、远程控制、办公自动化、游戏开发等领域中具有广泛应用。
  • 利用 Java 的 Robot 类,可以模拟低级输入事件,实现自动化控制,为软件测试和系统管理提供技术支持。

相关理论与基础

  • 介绍了 Java AWT Robot 类的基本功能,包括鼠标移动、点击、滚轮滚动、键盘按键模拟等。
  • 讨论了循环、延时控制、多线程数据转发等关键技术,为实现模拟操作提供理论支撑。

项目实现思路

  • 分析了如何实现鼠标与键盘的模拟操作,包括如何设置延时、如何处理组合按键和连续操作等。
  • 详细阐述了如何利用多线程技术实现双向数据传输(例如,客户端与远程 Shell 之间的输入输出转发),以及如何在自动化任务中结合 Robot 类实现精确操作。

完整代码实现

  • 代码整合在一起,提供了一个 KeyboardMouseSimulator 工具类,包含模拟鼠标移动、点击、双击、滚轮滚动、键盘按键、文本输入等方法。
  • 主函数中通过示例演示了如何调用各个方法,输出模拟操作结果。代码中附有详细注释,逐步解释了每个操作的实现逻辑和注意事项。

代码解读

对主要方法的用途进行了详细说明,帮助读者理解每个方法在模拟键盘和鼠标操作中的作用,例如如何计算延时、如何调用 Robot 类 API 以及如何处理异常等。

项目扩展与优化

  • 讨论了如何扩展实现更复杂的操作,如组合按键、鼠标拖动、图形化界面、日志记录和跨平台适配。
  • 强调了在自动化操作中需要特别注意的安全性和用户体验问题,建议仅在合法、受控的环境中使用该技术。

实际应用场景

详细介绍了模拟键盘和鼠标操作在自动化测试、远程控制、办公自动化、游戏开发和辅助技术中的实际应用,展示了该技术的广泛用途。

总之,模拟键盘与鼠标操作是一项实用而重要的技术,通过本项目的实现,你不仅可以掌握 Java AWT Robot 类的使用方法,还能深入理解桌面自动化和低级输入事件的原理。本文内容从理论到实践,详细阐述了实现思路、完整代码与注释、代码解读和项目总结,为开发者提供了一个全面的学习案例。无论你是希望在自动化测试中使用模拟输入,还是希望开发远程控制工具,本项目都能为你提供有力的技术支持和实践经验。

以上就是Java实现模拟键盘鼠标操作工具的详细内容,更多关于Java键盘鼠标的资料请关注脚本之家其它相关文章!

相关文章

  • Java实现网络数据提取所需知识点

    Java实现网络数据提取所需知识点

    这篇文章主要介绍了Java实现网络数据提取所需知识点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Java如何获取一个随机数 Java猜数字小游戏

    Java如何获取一个随机数 Java猜数字小游戏

    这篇文章主要为大家详细介绍了Java如何获取一个随机数,类似猜数字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • springboot项目访问静态资源的配置代码实例

    springboot项目访问静态资源的配置代码实例

    这篇文章主要介绍了springboot项目访问静态资源的配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Spring MVC请求参数的传递方式

    Spring MVC请求参数的传递方式

    Spring MVC是一种基于Model-View-Controller(MVC)设计模式的轻量级Web框架,用于Java应用程序的开发,在处理HTTP请求时,Spring MVC会涉及到请求参数的传递,本文给大家介绍了Spring MVC请求参数的传递方式,需要的朋友可以参考下
    2024-10-10
  • Java中两种基本的输入方式小结

    Java中两种基本的输入方式小结

    这篇文章主要介绍了Java中两种基本的输入方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • java 中同步、异步、阻塞和非阻塞区别详解

    java 中同步、异步、阻塞和非阻塞区别详解

    这篇文章主要介绍了java 中同步、异步、阻塞和非阻塞区别详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • Java日常练习题,每天进步一点点(34)

    Java日常练习题,每天进步一点点(34)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07
  • Java实现聊天机器人完善版

    Java实现聊天机器人完善版

    这篇文章主要为大家详细介绍了Java实现聊天机器人完善版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Java虚拟机堆内存溢出的原因和解决方法

    Java虚拟机堆内存溢出的原因和解决方法

    在Java开发中,内存溢出(OutOfMemoryError)是一个常见的问题,尤其是在处理大量数据或长时间运行的应用时,本文将通过一个简单的示例,展示如何通过JVM参数和代码分析来理解和解决内存溢出问题,需要的朋友可以参考下
    2024-10-10
  • SpringBoot+Websocket实现一个简单的网页聊天功能代码

    SpringBoot+Websocket实现一个简单的网页聊天功能代码

    本篇文章主要介绍了SpringBoot+Websocket实现一个简单的网页聊天功能代码,具有一定的参考价值,有需要的可以了解一下
    2017-08-08

最新评论