Go 实现 CoAP 服务中的 Observe 和 Multicast

CoAP 服务中的 Observe 和 MulticastCoAP 是一种专门为物联网设计的轻量级应用层协议,它基于 UDP,支持观察(Observe)和组播(Multicast)等特性。其中 Observe 是 CoAP 的一个重要特性,它允许客户端注册对资源的观察,一旦资源发生变化,服务器就会主动通知客户端。...

计算机网络中的单播、组播与广播

项目需要用到组播,所以了解了一下组播与广播的概念,以及 Go 中的实现。 1. 单播、组播与广播1.1 单播/Unicast单播 (Unicast) 是最常见的网络通信方式,也是网络中最基本的通信模式。在单播通信中,数据包从一个主机发送到另一个主机,这两个主机之间是一对一的关系。 1.2 组播&#x...

Nginx 常用配置

安装ubuntu 源可以直接使用 apt install nginx,安装完成后需要防火墙放行相应端口。 12firewall-cmd --permanent --add-service=httpsfirewall-cmd --permanent --add-service=http 配置 443 端口监听 4...

Linux 文件特殊属性 SUID

问题导出 rootfs 的时候,出现一个问题,sudo 出现权限错误 /usr/bin/sudo must be owned by uid 0 and have the setuid bit set。 定位查看这个文件的属性,会看到 sudo 属性缺少了 SUID,而一个正常的 sudo 文件应该的权限如下: 1...

NetworkManager show "device not managed"

问题描述网卡没有自动 up1ifconfig 查看不到网卡设备,加参数 -a 后可以显示,说明网卡的驱动正常加载,但是没有被启用 1ifconfig -a nmcli 没有 connection先使用 ifconfig 启用网卡: 1ifconfig eth0 up 然后使用 nmcli 查看链接,会发现不...

Ubuntu20.04-base sudo unable resolve host localhos.localdomain

原生的 Ubuntu20.04.5-base 使用 sudo 会出现无法解析主机的问题。通常,在更改系统的主机名之后也会发生此错误。 主机名主机名是用于标识网络上设备的标签。 您不应该在同一网络上拥有相同主机名的计算机。主机名分别是以下三类: static 主机名,即传统的主机名。 主机名存储在 /etc/ho...

RK3568 Debian 系统配置静态 IP 跳坑

问题基于 rk3568 芯片编译了一个 debian 系统上,想要配置静态 IP,直接在 /etc/network/interfaces.d/ 下创建了文件,然后编写了配置: 12345auto eth0iface eth0 inet staticaddress X.X.X.Xnetmask 255.255.25...

Linux 进程生命周期以及孤儿进程、僵尸进程和守护进程的区别

孤儿进程、僵尸进程和守护进程是 Linux 进程中的三种特殊进程,也是 Linux 常见的面试题,这里整理一下这三种进程的概念和区别。 1. Linux 进程生命周期Linux 进程的生命周期主要包括五个状态,分别是 创建(Create)、就绪(Ready)、运行(Running)、阻塞(Blocked) 和 终...

编写并分析第一个 HarmonyOS APP

创建第一个 HarmonyOS 项目任何一门编程语言写出的第一个程序几乎都是 Hello World,这在编程界已经成为经典了。本文就从这个经典开始,了解 HarmonyOS 的应用开发。 选择项目类型在欢迎界面点击新建项目,选择 Java 的 Empty Ability 新建,填入包名等参数。这里的 Abili...

进程、线程和协程(goroutine)

进程、线程和协程(在 Go 语言中称为 goroutine)都是实现程序并发执行的基本单元,但它们在内存隔离、调度方式、切换成本和使用场景等方面有明显区别。这里做一个综合的总结和对比。 进程进程是程序运行时在操作系统中创建的一个独立实体,每个进程拥有独立的内存地址空间(包括独立的堆、栈、全局变量等),资源由操作系...