一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Backend

基于 WebSocket 的 MQTT

一般情况下客户端使用TCP方式连接服务端,现在想使用浏览器作为客户端连接服务端,需要使用WebSocket方式。

龙生   11 Aug 2025
View Details

MQTT 发布订阅

软件安装
服务端:mosquitto
下载页面:https://mosquitto.org/download/

MQTTX
下载页面:https://mqttx.app/zh#download

MQTT.fx
下载链接:http://www.jensd.de/apps/mqttfx/1.7.1/mqttfx-1.7.1-windows-x64.exe
备份的蓝奏云下载链接:https://ioufev.lanzout.com/irlNC064nc4f

龙生   11 Aug 2025
View Details

MQTT 协议

MQTT 是物联网(Internet of Things,IoT)的 OASIS 标准消息传递协议。它被设计为一个极其轻量级的发布/订阅消息传输,非常适合用较小的代码占用和最小的网络带宽连接远程设备。

龙生   11 Aug 2025
View Details

MQTT vs. XMPP

XMPP 是老牌的即时聊天协议,像 Google Hangouts, WhatsApp Messenger 等即时聊天程序都是基于 XMPP 的。
而 MQTT 是最近几年随着物联网行业的发展,才慢慢进入公众视线的,像 Facebook Messenger App 使用了 MQTT 协议。
MQTT 的特点在于报文小,协议简单,提供了三个 QoS 级别。这几个特性是专门为网络环境复杂的物联网(IoT)场景设计的。
XMPP 特点在于协议和扩展协议成熟,功能完善,专门为即时聊天(IM)场景设计。

龙生   11 Aug 2025
View Details

Java中List、Integer[]、int[] 的相互转换

本文涉及到一些 Java8 的特性。 int[]数组

  int[] 转 List<Integer>

  Arrays.stream(arr) 可以替换成IntStream.of(arr)。 1.使用Arrays.stream将int[]转换成IntStream。 2.使用IntStream中的boxed()装箱。将IntStream转换成Stream<Integer>。 3.使用Stream的collect(),将Stream<T>转换成List<T>,因此正是List<Integer>。 int[] 转 Integer[]

  前两步同上,此时是Stream<Integer>。 然后使用Stream的toArray,传入IntFunction<A[]> generator。 这样就可以返回Integer数组。 不然默认是Object[]。 List<Integer> 转 Integer[]

  调用toArray。传入参数T[] a。这种用法是目前推荐的。 List<String>转String[]也同理。 List<Integer> 转 int[]

  想要转换成int[]类型,就得先转成IntStream。 这里就通过mapToInt()把Stream<Integer>调用Integer::valueOf来转成IntStream。 而IntStream中默认toArray()转成int[]。 Integer[] 转 int[]

  思路同上。先将Integer[]转成Stream<Integer>,再转成IntStream。 Integer[] 转 List<Integer>

  最简单的方式。String[]转List<String>也同理。 String 同理

  完整代码

  from:https://zhuanlan.zhihu.com/p/196698839

龙生   07 Aug 2025
View Details

WebRTC + WebSocket 实现视频通话

  WebRTC能让web应用和站点之间选择性地分享音视频流。在不安装其它应用和插件的情况下,完成点对点通信。 WebRTC背后的技术被实现为一个开放的Web标准,并在所有主要浏览器中均以常规JavaScript API的形式提供。对于客户端(例如Android和iOS),可以使用提供相同功能的库。 WebRTC是个开源项目,得到Google,Apple,Microsoft和Mozilla等等公司的支持。2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。

龙生   23 Jun 2025
View Details

数据安全能力

龙生   12 May 2025
View Details

VS2022安装.NET Framework4.5

1.去https://www.nuget.org/下载Microsoft.NETFramework.ReferenceAssemblies.net45
2.解压后把build/.NETFramework/v4.5复制到C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework

龙生   11 Apr 2025
View Details

Spring Boot中如何编写优雅的单元测试

单元测试是指对软件中的最小可测试单元进行检查和验证。在Java中,单元测试的最小单元是类。通过编写针对类或方法的小段代码,来检验被测代码是否符合预期结果或行为。执行单元测试可以帮助开发者验证代码是否正确实现了功能需求,以及是否能够适应应用环境或需求变化。

龙生   07 Apr 2025
View Details

解决git操作一直要求输入用户名和密码的问题

## local
git config --local credential.helper store

git config --local user.username "username"
git confgi --local user.password "password"

龙生   18 Mar 2025
View Details