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

k8s集群 图文详细 部署安装使用(两万字)

因为我只有一台服务器,我使用的是,所有我采用的是通过安装虚拟机的方式实现集群搭建,先把需要的配置环境拉取下来,然后再通过虚拟机的克隆的方式直接把配置克隆到新的服务器上,减少重复下载。
通过在ubuntu服务器上安装VMware和在MAC上安装parallels desktop都有部署成功,安装虚拟机的实体机配置内存需要够,并且需要可以连接🛜,因为需要下载一些配置依赖,因为是安装k8s集群需要安装三台ubuntu容器。

龙生   01 Jul 2025
View Details

centos7.9部署k8s的几种方式

1、使用kubeadm工具部署
kubeadm 是 Kubernetes 官方推荐的简化部署工具,能够快速初始化 Master 节点并加入 Worker 节点,自动化了很多设置过程。它还支持集群的升级和维护操作。这种方式相比手动部署更简便,但需要满足一定的硬件和软件环境要求。

2、基于二进制文件的部署方式
这种方式需要手动下载和安装 k8s 组件,包括 kube-apiserver、kube-controller-manager、kube-scheduler、kubelet、kube-proxy 等组件,并手动配置参数和启动命令。适合需要自定义配置和精细控制的场景,但也需要花费更多的时间和精力进行维护和升级。

3、云服务提供商的托管 Kubernetes 服务
众多云服务提供商如 Amazon EKS、Microsoft AKS、Google GKE 等提供了托管 Kubernetes 服务。通过这些服务,用户可以快速创建和管理 Kubernetes 集群,无需关心底层基础设施的维护,同时还能享受到云平台的自动扩展、监控和安全服务等高级功能。

4、使用容器镜像部署或自动化部署工具
包括但不限于使用容器镜像部署 Kubernetes 组件,或是利用自动化部署工具如 Ansible、Terraform、Kubespray、Rancher 等。这些方法通过预配置的模板或剧本自动化集群的安装和配置过程,适用于追求部署效率和标准化的场景。例如,Kubespray 是一个使用 Ansible 来部署 Kubernetes 集群的工具,支持多种云平台和本地环境。

龙生   01 Jul 2025
View Details

k8s报错:The connection to the server localhost:8080 was refused

k8s的node节点使用kubectl命令时,如kubectl get pods --all-namespaces 出现如下错误:

  解决办法1:使用一个非 root 账户登录,然后运行下列命令:

解决办法2: 出现这个问题的原因是kubectl命令需要使用kubernetes-admin的身份来运行,在“kubeadm int”启动集群的步骤中就生成了“/etc/kubernetes/admin.conf”。 因此,解决方法如下,将主节点中的【/etc/kubernetes/admin.conf】文件拷贝到工作节点相同目录下:

  然后分别在工作节点上配置环境变量:

   from:https://blog.csdn.net/qq_41893255/article/details/138166712

龙生   01 Jul 2025
View Details

调用摄像头拍照chrome浏览器报Cannot read properties of undefined (reading 'getUserMedia')

一、背景: 项目中使用电脑摄像头拍照,调用navigator.mediaDevices方法,在本地正常,测试环境和生产环境报错。 二、原因: navigator.mediaDevices在目前以下情况中可以获取到 1.地址为localhost://访问 2.协议为https 3.为文件访问file:/// 测试环境和生产环境使用的都是http协议,因此无法调用 三、解决方法 1.在chrome地址栏输入chrome://flags/#unsafely-treat-insecure-origin-as-secure 2.在Insecure origins treated as secure的输入框输入要打开网页的地址如http://xx.xx.xx:8080 3.把右边的Disnabled改成Enabled 4.点右下角的Relaunch   转自于:https://hepuhua.cn/post/942.html#   from:https://www.cnblogs.com/Ao-min/p/18644211

龙生   23 Jun 2025
View Details

检查您的手机浏览器是否支持WebRTC技术

要检查您的手机浏览器是否支持WebRTC技术,可以通过以下方法: 方法1:使用WebRTC测试网站 访问测试网站: 在手机浏览器中,访问一个专门用于检测WebRTC支持的网站,例如Test WebRTC或WebRTC Troubleshooter. 这些网站会自动检测您的浏览器是否支持WebRTC,并给出相应的反馈。 查看测试结果: 网站会显示一系列测试结果,您可以查看是否所有的WebRTC相关功能都通过了测试。 方法2:手动检查浏览器设置 查看浏览器信息: 在浏览器的设置或帮助部分,查看浏览器的版本信息。通常,最新版本的主流浏览器(如Chrome, Safari, Firefox)都支持WebRTC。 更新浏览器: 如果您的浏览器不是最新版本,尝试更新到最新版。最新版本的浏览器更有可能支持WebRTC。 方法3:查找浏览器支持信息 在线查找: 在线搜索您手机上使用的浏览器名称以及“WebRTC support”,查看是否有关于该浏览器支持WebRTC的信息。 通过上述方法,您可以确认您的手机浏览器是否支持WebRTC。大多数现代浏览器都支持WebRTC,但如果发现您的浏览器不支持,可以考虑换用其他浏览器进行尝试。   from:https://blog.csdn.net/qq_52754410/article/details/134753983

龙生   23 Jun 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