p2p通信原理及实现

1.简介 当今部署的中间件大多都是在C/S架构上设计的,其中相对隐匿的客户机主动向周知的服务端(拥有静态IP地址和DNS名称)发起链接请求。大多数中间件实现了一种非对称的通讯模型,即内网中的主机可以初始化对外的链接,而外网的主机却不能初始化对内网的链接,除非经过中间件管理员特殊配置。在中间件为常见的NAPT的情况下(也是本文主要讨论的),内网中的客户端没有单独的公网IP地址,而是通过NAPT转换,

- 阅读全文 -

Golang用300行代码实现内网穿透

我们经常会遇到一个问题,如何将本机的服务暴露到公网上,让别人也可以访问。我们知道,在家上网的时候我们有一个 IP 地址,但是这个 IP 地址并不是一个公网的 IP 地址,别人无法通过一个 IP 地址访问到你的服务,所以在例如:微信接口调试、三方对接的时候,你必须将你的服务部署到一个公网的系统中去,这样太累了。 这个时候,内网穿透就出现了,它的作用就是即使你在家的服务,也能被其人访问到。 今天让我们

- 阅读全文 -

golang手把手实现tcp内网穿透代理

首先还是我们需要一个http服务器,这个http服务器是我们的内网的服务器,也就是说我们需要在外网访问到这个位于内网的http服务器。假设我们内网的ip是127.0.0.1,分配的局域网ip是192.168.1.10,然后http端口是8080那么显而易见,我们在同一内网环境是可以访问的,直接使用192.168.1.10:8000即可访问到服务器但是如果不在同一局域网的机器就不行了,需要借助一台公

- 阅读全文 -

物联网8大协议介绍及对比

物联网(IoT)技术的发展,离不开多种通信协议的支持。这些协议在数据传输、设备连接和管理等方面起到了至关重要的作用。本文将介绍和对比8种常见的物联网协议,帮助理解它们的特点及适用场景。MQTT(Message Queuing Telemetry Transport)概述MQTT是一种轻量级的消息传输协议,设计用于低带宽和不稳定网络环境下的设备通信。特点轻量级:协议头部非常小,适合资源受限的设备。发

- 阅读全文 -

带你快速入门学习SCSS

使用变量;sass让人们受益的一个重要特性就是它为css引入了变量。你可以把反复使用的css属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值。或者,对于仅使用过一 次的属性值,你可以赋予其一个易懂的变量名,让人一眼就知道这个属性值的用途。sass使用$符号来标识变量(老版本的sass使用!来标识变量。改成$是多半因为!highlight-color看起来太丑了。),比如$hi

- 阅读全文 -