
基于内网穿透实现本地 WebSocket 服务公网访问
演示了如何在无公网 IP 环境下,通过内网穿透工具将本地 Java WebSocket 服务端暴露至公网,并使用 Go 语言客户端进行连接测试。主要步骤包括配置 SpringBoot Netty 环境、安装并认证穿透工具、创建 TCP 隧道映射端口,以及编写客户端代码验证通信。解决了异地联调需部署云服务器的问题,简化了调试流程。
博客作者
夕阳无限好
360
已发布文章
8K
博客获赞
540K
博客浏览
第 15 页

演示了如何在无公网 IP 环境下,通过内网穿透工具将本地 Java WebSocket 服务端暴露至公网,并使用 Go 语言客户端进行连接测试。主要步骤包括配置 SpringBoot Netty 环境、安装并认证穿透工具、创建 TCP 隧道映射端口,以及编写客户端代码验证通信。解决了异地联调需部署云服务器的问题,简化了调试流程。

利用 Dify 的 mcp-server 插件可将工作流发布为第三方可调用服务。安装插件后,需修改 .env 文件中的 EXPOSE_PLUGIN_DEBUGGING_HOST 和 ENDPOINT_URL_TEMPLATE,将 localhost 替换为实际 IP 地址。配置完成后,Dify 应用即成为符合 MCP 标准的 Server Endpoint,…

数据库设计文档中的 ER 图绘制常令学生困扰,手动画图效率低且易出错。介绍一款免费在线工具,支持粘贴标准 SQL 语句自动生成 ER 图,可识别主键外键关系并导出图片格式。该工具无需注册登录,适用于毕业设计、课程项目及原型设计场景,能有效提升文档专业度与工作效率。

Python 属性描述符通过实现__get__、__set__等方法封装属性控制逻辑,解决 property 在多字段场景下的代码冗余问题。数据描述符优先级高于实例属性,非数据描述符则相反。理解其查找顺序是掌握 Django、SQLAlchemy 等 ORM 框架底层机制的关键。

ARM、x86 和 AMD64 是三种主流计算机架构。ARM 基于 RISC 设计,主打低功耗,广泛用于手机和嵌入式设备;x86 属于 CISC 架构,兼容性强,主导桌面与服务器市场;AMD64 作为 x86 的 64 位扩展,支持更大内存寻址,现代 Intel 和 AMD 处理器均基于此。文章阐述了架构定义、处理器与架构的关联,并提供了在 Linux、ma…
探讨利用人工智能工具辅助嵌入式开发,特别是针对 Keil uVision5 环境下的 STM32 项目。通过自然语言描述自动生成初始化代码,实现寄存器配置的自动补全与错误检测。功能涵盖时钟树验证、GPIO 冲突检查及 DMA 通道分配分析。此外,AI 还能提供性能优化建议,如推荐分频方案、DMA 传输替代查询模式等。实际案例显示,该方法能显著减少查阅手册时间…
介绍 Elasticsearch 在 Windows 系统的详细安装流程,涵盖环境准备、版本下载、配置文件修改、服务启动及验证方法。包含单机模式配置、安全设置开启、常见问题排查(如端口冲突、内存不足)以及 Kibana 可视化工具的安装建议。重点说明生产环境的安全优化与性能调优步骤。

Linux 权限管理与代码编译是系统开发中的核心操作。新建用户无法使用 sudo 时需将其加入 root 信任白名单。gcc/g++ 编译器工作流程包含预处理、编译、汇编、连接四个阶段。常用编译选项包括输出控制、优化级别、调试信息与警告设置。静态库与动态库在链接方式和运行时依赖上存在差异。Debug 构建侧重调试信息生成,Release 构建侧重性能优化。掌…

C++ String 类在算法题中应用广泛。通过四个典型例题讲解字符串处理技巧:利用 getline 读取整行输入配合 rfind 定位单词;双指针法验证回文串并过滤非字母数字字符;哈希数组统计字符频次寻找唯一字符;以及简单的双指针交换反转字符串。内容涵盖标准库函数使用、ASCII 码转换及常见边界条件处理,适合巩固 C++ 字符串操作基础。
介绍基于 Java SDK 集成企业微信 Webhook 机器人的方法。通过 Maven 添加依赖并配置 Spring Boot 属性,支持文本、图文、Markdown 及图片消息发送。涵盖监控告警与 CI/CD 流水线通知场景,提供生产环境配置建议与扩展开发方案。
WebLaTeX 是一款基于 VSCode 和 GitHub Codespace 技术的云端 LaTeX 编辑器。它无需本地安装环境,支持跨设备同步。主要特性包括集成 Git 版本控制、GitHub Copilot 智能辅助、多人实时协作及语法检查。用户可通过 Fork 项目模板并启动 Codespace 快速搭建个人写作环境。支持自定义编译引擎、输出目录及…

Redis 压缩列表通过紧凑存储节省内存,但存在连锁更新问题。Redis 引入 Listpack 解决此问题,利用 len 字段替代 prevlen 实现倒序遍历。哈希表扩容采用渐进式策略,使用两个哈希表逐步迁移数据,避免阻塞单线程。读请求在扩容期间会同时检查新旧哈希表,写请求仅写入新表,确保服务高可用。

2022 年信息学奥林匹克竞赛 C++ 提高组 CSP-S 复赛真题'星战'的题目描述部分。内容涉及星际战争背景下,n 个据点与 m 个单向虫洞构成的网络结构。属于算法竞赛领域的图论问题探讨。

Linux 环境下使用 gdb 和 cgdb 进行程序调试的方法。包括编译时添加-g 选项开启调试信息,cgdb 的代码窗口操作及 gdb 常用命令如断点、单步执行、变量打印等。高级技巧涵盖 watch 监视变量变化、set var 修改变量值以及条件断点的设置方式,帮助定位代码逻辑错误。

带头双向循环链表通过哨兵节点简化边界处理,支持 O(1) 时间复杂度的头尾插入删除。内容包含结构定义、核心接口实现细节、内存管理策略,以及顺序表与链表的性能对比。最后结合经典题目演示移除元素与链表反转的迭代解法,强调指针修改顺序对防止野指针的重要性。

在 HarmonyOS 开发中,可通过 DevEco Studio 的 Hvigor 构建系统动态修改编译配置。主要方法包括在 hvigorfile.ts 中使用 overrides 关键字覆盖配置,或通过 hook 及插件上下文直接读取并修改配置文件。具体可操作 build-profile.json5 签名、module.json5 设备类型、app.js…

IntelliJ IDEA 运行 Tomcat 时控制台出现中文乱码通常是由于 Tomcat 日志输出编码与 IDEA 控制台解码编码不一致导致的。核心解决方案是统一编码格式,建议将 Tomcat 的 conf/logging.properties 中的 ConsoleHandler.encoding 修改为 UTF-8 或 GBK 以匹配系统环境。同时需在…

MCP(Model Context Protocol)是大模型上下文协议,旨在统一 AI 大模型与外部工具的交互方式。相较于 Function Call 需针对不同模型定制开发,MCP 采用 C/S 架构支持远程或本地服务调用。通过 Python SDK 示例解析了 Function Call 的工作流程,涵盖工具配置、参数传递及上下文维护机制。

Android Studio 集成 Gemini 后无需切换浏览器即可实现代码生成与调试。介绍启用步骤及 API 调用方法。首先需升级至 Koala 及以上版本并登录 Google 账号,配置网络代理以解决连接问题。随后通过 Google AI Studio 获取 API Key,注入 local.properties 并在 build.gradle 添加依…

探讨了普通用户如何降低 AI 创作门槛。通过建立学习坐标、在评论区进行深度互动、围绕特定话题形成个人标签以及从互动转向协作,用户可以逐步积累能力。建议保持每日固定时间参与,撰写有回应感的评论,并尝试总结应用心得。这种轻量化的参与方式能让非专业人士也能获得成长与反馈。