从游戏联机到远程办公:内网穿透与P2P技术的实战解析

基于FRP封装SDK:实现智能P2P打洞与自动降级转发 本文介绍了一种基于FRP实现的智能P2P内网穿透方案,通过自建STUN服务器和自动降级机制,优化了传统内网穿透方案。主要内容包括:1) P2P穿透原理及STUN服务器作用;2) 创新性地实现自建STUN服务器和智能降级机制;3) 详细的技术实现步骤,包含STUN服务器部署、FRP源码修改、跨平台编译和API封装;4) 提供智能降级功能,当P2P连接失败时自动切换至转发模式。该方案通过封装SDK简化了集成过程,提高了穿透成功率和连接稳定性。 阅读详情

1. 从“连不上”到“秒进”:我们到底在解决什么问题?

“我游戏房间都开好了,链接也发你了,怎么就是进不来?” “我这边显示一直在连接中,然后就超时了。” “算了,我们下个XX平台吧,那个能连。”

上面这几句话,是不是特别耳熟?无论是《我的世界》里和朋友一起盖房子,还是《双人成行》里准备开启冒险,又或者只是想在公司远程访问家里的NAS看个电影,我们最常遇到的第一个拦路虎,根本不是网络速度慢,而是根本连不上。那种感觉就像你站在自家门口,手里拿着钥匙,却怎么也找不到锁孔——门就在那儿,但你不知道该怎么打开它。

这个问题的根源,绝大多数时候都指向同一个东西:NAT(网络地址转换)。你可以把它想象成一个小区的大门保安。你家(你的电脑)在小区(局域网)里有一个门牌号(比如192.168.1.101),但对外界(公网)来说,整个小区只有一个对外的地址(比如120.245.10.23)。当你想点外卖(访问外部网站)时,保安会记下“101住户点了外卖”,然后把外卖(数据包)送给你。一切都很完美。

但反过来,如果你的朋友想直接来你家做客(从外部连接你的电脑),麻烦就来了。他只知道小区地址是120.245.10.23,但保安(NAT)的登记簿上,并没有“101住户有访客预约”这条记录。于是,保安会礼貌地(或粗暴地)把访客拦在门外,说:“对不起,没有预约,不能进。”这就是你开了游戏服务器,朋友却连不进来的根本原因——在公网的视角里,你的电脑“不存在”。

所以,内网穿透和P2P直连技术,本质上就是在和这位“保安”斗智斗勇。我们的目标不是拆掉大门(这通常不现实),而是学会一套“暗号”或“方法”,让保安愿意为我们的朋友放行,甚至能让朋友直接找到我们的家门。从早期的虚拟局域网工具,到现在的各种智能组网软件,再到远程办公系统的底层,核心逻辑都围绕着如何优雅地“骗过”或“绕过”NAT。

2. 理解守门人:NAT的类型与穿透难度

要想“骗过”保安,首先得了解保安有几种,各自的规矩严不严。NAT设备(主要是我们的家用路由器)在处理连接时,有不同的策略,这直接决定了穿透的难易程度。我刚开始折腾的时候,就是没搞清楚这个,白白浪费了好几个小时。

2.1 NAT的四种主要类型

我们可以把NAT的严格程度分为四个等级,就像小区的安保级别从“开放式小区”到“军事禁区”。

完全锥型NAT (Full Cone NAT):这是最友好、最宽松的“保安”。一旦你的电脑(内网IP:端口,例如192.168.1.101:54321)通过某个端口(例如公网端口60123)向外发送了一个数据包,保安就会建立一个映射:“54321住户对应60123门岗”。此后,任何外部主机,无论它来自哪个IP、哪个端口,只要向你的公网IP:60123发送数据,保安都会一律放行,并转发给你的电脑。这种类型在早期的家用路由器中比较常见,穿透最容易。

受限锥型NAT (Restricted Cone NAT):这位保安稍微严格了一点。他同样会建立映射,但他会记住你第一次联系的是谁(目标IP)。只有来自那个特定IP地址(无论端口号)的数据包,才会被允许进入并转发给你。比如,你的电脑先访问了IP为8.8.8.8的服务器,那么之后只有来自8.8.8.8这个地址的回包才能进来,来自1.2.3.4的包则会被拒绝。

端口受限锥型NAT (Port Restricted Cone NAT):这是更常见的家用路由器类型,规矩更严。保安不仅会记住目标IP,还会记住目标端口。只有来自那个特定IP地址的特定端口的数据包才能被放行。也就是说,连接是对称的。你想和谁通信,就必须先和他“打招呼”建立映射。

对称型NAT (Symmetric NAT):这是最严格的“保安”,常见于企业网络、校园网或蜂窝移动网络(手机热点)。它的规则是:内网主机每和一个不同的外部地址:端口通信,NAT就会分配一个全新的、随机的公网端口。也就是说,你访问A网站用了一个公网端口,访问B网站就会用另一个完全不同的公网端口。这意味着,外部根本无法预测你会使用哪个端口,因此传统的“打洞”方法几乎完全失效。在这种网络下,想实现P2P直连非常困难。

2.2 如何检查自己的NAT类型?

知道理论后,你肯定想知道自己处在哪种“安保级别”下。这里有个简单的自查思路,不需要太高深的命令:

  1. 使用游戏或软件自带的检测:很多游戏平台(如Steam)或通信软件(如某些视频会议工具)在测试连接时,会显示NAT类型(Open/Moderate/Strict),这大致对应了从宽松到严格的级别。
  2. 在线工具测试:有一些网站提供NAT类型检测服务。原理是它们有多个位于不同地址和端口的服务器,通过让你依次连接这些服务器,分析端口映射的变化规律,从而判断类型。
  3. 一个粗糙的自测方法(需要朋友配合):
    • 你在本地用netstat -an命令(Windows)或lsof -i(Mac/Linux)看看你电脑监听的端口,比如你游戏开了25565。
    • 让你朋友尝试用telnet 你的公网IP 25565(公网IP可以百度“IP”查到)。如果根本不通,说明连最基础的入站都被拒绝了。
    • 如果能通,再让朋友换另一个IP(比如用他的手机热点)尝试连接同一个端口,如果还能通,那你可能是Full Cone;如果不通了,那很可能是Restricted Cone或更严格的类型。

了解自己的NAT类型,是选择正确穿透方案的第一步。如果发现是对称型NAT,你可能需要做好使用中转服务器的心理准备。

3. 基础穿透术:从中继转发到端口映射

当我们无法实现点对点直连时,最直接、最可靠的办法就是引入一个“中间人”。这个中间人拥有一个大家都能够得着的公网IP地址,负责在双方之间转发数据。

3.1 反向代理/内网穿透工具

这是目前最流行、最通用的解决方案,代表工具有 frp (Fast Reverse Proxy)、ngrok,以及国内很多集成化的方案如花生壳、cpolar等。它们的架构思想惊人地一致:

  1. 你在需要被访问的内网机器上,运行一个客户端(Client)。
  2. 客户端主动向外网一台由服务商(或你自己搭建)的服务器(Server) 发起并保持一个长连接。注意,是“内网主动连外网”,这完美避开了NAT对入站连接的限制。
  3. 当你的朋友(访问者)想要连接你时,他实际上连接的是这台公网服务器上的某个特定端口。
  4. 公网服务器收到请求后,通过之前建立好的那条长连接,将请求转发给你的内网客户端。
  5. 内网客户端处理请求,并将响应原路返回。

这个过程就像你(内网客户端)给一个快递中转站(公网服务器)打了个电话:“我一直在线上,有任何给我的包裹,请立刻通知我,我来取。”然后你的朋友把包裹寄到中转站,中转站马上打电话告诉你,你再把包裹取走。

实战一下frp: 假设你家里有一台电脑(IP: 192.168.1.100),上面运行了一个Web服务(端口80)。你有一台公网VPS(IP: 1.2.3.4)。

  • 在VPS(服务器端),编辑frps.ini:
    [common]
    bind_port = 7000  # 客户端连接用的端口
    
    运行 ./frps -c ./frps.ini
  • 在家用电脑(客户端),编辑frpc.ini:
    [common]
    server_addr = 1.2.3.4
    server_port = 7000
    
    [web]  # 定义一个服务名
    type = tcp
    local_ip = 127.0.0.1
    local_port = 80
    remote_port = 6000  # 告诉服务器,对外用6000端口
    
    运行 ./frpc -c ./frpc.ini

现在,你的朋友访问 http://1.2.3.4:6000,流量就会通过VPS中继,完美地到达你家电脑的80端口。这种方法几乎通吃所有NAT类型,缺点是所有流量都经过中转服务器,会带来额外的延迟(取决于服务器位置),并且占用服务器的带宽。

3.2 手动端口映射(Port Forwarding)

如果你拥有路由器的管理权限,并且你的运营商分配给你的是公网IP(现在越来越难了),那么手动端口映射是最原生、效率最高的“内网穿透”。你直接在路由器上设置一条规则:“所有发往路由器WAN口(公网IP)的25565端口的流量,请无条件转发给内网的192.168.1.100:25565。”

操作上,你登录路由器管理后台(通常是192.168.1.1或192.168.0.1),找到“虚拟服务器”、“端口转发”或“NAT”相关设置。添加一条新规则,外部端口填你想对外暴露的(比如25565),内部IP填你电脑的局域网IP,内部端口填游戏或服务实际监听的端口(比如25565),协议通常选TCP/UDP或者ALL。

踩坑提醒:

  • 防火墙:别忘了你电脑上的防火墙(Windows Defender防火墙、第三方安全软件)也需要放行对应的端口。
  • 动态IP:家庭宽带的公网IP可能会变。一旦IP变化,你需要把新的IP告诉朋友。可以考虑使用DDNS(动态域名解析) 服务,给你的IP绑一个域名,这样你只需要告诉朋友域名,IP变了自动更新。
  • 安全性:端口映射相当于在防火墙上开了一个洞。确保你映射的服务本身是安全的,没有漏洞,并且使用强密码。

4. 高阶魔法:P2P打洞与直连实战

当中继转发带来的延迟让你在游戏里反应慢半拍,或者你不想为流量付费时,P2P直连就成了终极追求。它的理想状态是:在协调服务器的短暂帮助下,让两个都在NAT后的设备,像拥有公网IP一样直接通信,后续数据不再经过第三方。

4.1 NAT打洞(Hole Punching)核心原理

打洞听起来玄乎,其实原理很清晰。它利用了大多数NAT设备的一个“行为特点”:为了允许你访问的网站回包给你,NAT会临时打开一个“孔洞”(即之前提到的映射)。打洞就是主动地、有预谋地去创建这个孔洞。

标准UDP打洞流程(假设双方都是Restricted Cone NAT):

  1. 注册:客户端A和客户端B都主动连接到一个拥有公网IP的协调服务器(Rendezvous Server),并保持UDP心跳。服务器因此知道了A和B各自的公网IP和端口对(即 (A的公网IP:端口A) 和 (B的公网IP:端口B))。
  2. 交换信息:当A想连接B时,它通过协调服务器告诉B:“我想连接你,这是我的公网地址 (IP_A:Port_A)。”同时,服务器也告诉A:“B的公网地址是 (IP_B:Port_B)。”
  3. 同时打洞:这是关键一步!A立刻开始向 (IP_B:Port_B) 发送UDP数据包(即使此时B的NAT会丢弃它们)。同时,B也立刻开始向 (IP_A:Port_A) 发送UDP数据包。
  4. 孔洞建立:对于A的NAT来说,它看到A主动向B的地址发送了包,它就认为:“这是A发起的对话,来自B的回复是允许的。”于是它为B的地址打开了一个入站孔洞。B的NAT同理。当双方发送的包几乎同时到达对方的NAT时,这些包恰好能通过刚刚打开的孔洞,成功抵达对方主机!一旦第一个包成功交换,一条直接的P2P通道就建立了。

你可以把它想象成两个被关在各自房间里的人,中间有一个传话员(协调服务器)。他们同时根据传话员给的地扯,用力朝对方的墙扔带信息的纸团。第一次扔,纸团会撞墙掉下来(被NAT丢弃),但这个动作让墙上留下了一个印记(建立了映射)。紧接着,第二个纸团飞来,就能从这个印记处穿墙而过了。

4.2 代码层面的简单模拟

理解原理后,我们来看一个极度简化的伪代码示例,它有助于理解客户端的行为逻辑:

# 客户端A的伪代码逻辑
import socket
import threading

# 1. 连接协调服务器,注册自身
coordinator_addr = ('coordinator.server.com', 3478)  # 假设的服务器地址
udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_sock.bind(('0.0.0.0', 0))  # 绑定一个随机本地端口

# 向服务器发送注册消息,服务器会记录A的公网IP和端口
udp_sock.sendto(b'REGISTER_A', coordinator_addr)
# 服务器回复A,告知其观察到的A的公网地址 (peer_a_public)
data, addr = udp_sock.recvfrom(1024)
peer_a_public = data.decode()  # 例如 "120.245.10.23:55000"

# 2. 通过服务器获取B的公网地址
udp_sock.sendto(b'GET_PEER_B', coordinator_addr)
data, addr = udp_sock.recvfrom(1024)
peer_b_public = data.decode()  # 例如 "183.12.45.67:62000"
peer_b_ip, peer_b_port = peer_b_public.split(':')
peer_b_port = int(peer_b_port)

# 3. 开始打洞:向B的公网地址发送多个UDP包(打洞包)
print(f"A开始向B的公网地址 {peer_b_ip}:{peer_b_port} 发送打洞包...")
for i in range(10):
    udp_sock.sendto(f'PUNCH_A_{i}'.encode(), (peer_b_ip, peer_b_port))
    # 同时,B也在做同样的事情,向A的公网地址发送包

# 4. 监听来自B的直连消息
def listen_for_peer():
    while True:
        try:
            data, addr = udp_sock.recvfrom(1024)
            if addr[0] == peer_b_ip:  # 确认是来自B的直连包
                print(f"收到来自B的直连消息: {data.decode()}")
                # 打洞成功!现在可以通过这个socket与B直接通信了
                udp_sock.sendto(b'Hello B from A directly!', addr)
                break
        except:
            pass

listen_thread = threading.Thread(target=listen_for_peer)
listen_thread.start()

客户端B的代码逻辑完全对称。在实际项目中,打洞的成功率、NAT类型的判断、保活机制等要复杂得多。像 libp2p、WebRTC 这样的成熟框架,已经将这套复杂的逻辑封装得很好,开发者可以直接使用。

4.3 现实中的挑战与混合方案

纯粹的UDP打洞在面对对称型NAT(Symmetric NAT)时会失败,因为客户端A每次向不同地址(B的地址)发送包时,NAT分配的出站端口都不同,B无法预知这个端口。此外,一些企业级防火墙策略也会阻止打洞。

因此,现代成熟的P2P系统(如视频会议、远程桌面)普遍采用 “ICE(交互式连接建立)框架” 。ICE不是一个单一技术,而是一个决策框架。它会尝试所有可能的方法,并按优先级选择最佳路径:

  1. 主机候选(Host Candidate):首先尝试本地局域网直连(如果双方在同一个网络下)。
  2. 服务器反射候选(Server Reflexive Candidate):尝试通过协调服务器进行UDP打洞。
  3. 中继候选(Relayed Candidate):如果打洞失败,则自动降级到使用TURN(中继)服务器进行数据转发。这保证了连接无论如何都能建立,只是延迟和成本不同。

这种“先尝试P2P,不行再中转”的混合策略,在可靠性和效率之间取得了最佳平衡。你在使用Zoom或Teams开会时,系统底层就在默默地执行这一套复杂的探测和选择流程。

5. 场景扩展:从游戏到远程办公与智能家居

理解了穿透和P2P的原理,你会发现它们的应用场景远不止游戏联机。几乎所有需要从外部访问内部资源的场景,都是这些技术的用武之地。

远程办公与开发:

  • 远程桌面/SSH:在家访问公司的开发机。你可以用frp将公司电脑的3389(RDP)或22(SSH)端口映射到云服务器,然后通过云服务器连接。更优雅的做法是使用Tailscale、ZeroTier这类基于WireGuard的虚拟组网工具,它们能自动创建加密的虚拟局域网,让你感觉所有设备都在同一个网络下,直接使用内网IP访问。
  • 内网Web服务调试:微信小程序、支付回调等开发需要公网可访问的URL。用ngrok或cpolar可以一键将本地的localhost:3000暴露为一个临时的公网HTTPS网址,方便测试。

家庭媒体与数据中枢:

  • NAS访问:随时随地访问家里的照片、电影库。通过DDNS+端口映射,或使用Synology QuickConnect、威联通myQNAPcloud等厂商自带的中继服务实现。
  • 自建云盘(如Nextcloud)、家庭监控摄像头、下载器管理界面(如Transmission、qBittorrent)都可以通过类似方式实现外网访问。

物联网与智能家居:

  • 很多智能家居设备初始化配置时,需要手机和设备在同一个局域网。如果你家的IoT设备支持,可以将其连接到虚拟局域网(如使用Zerotier),这样即使你在公司,也能直接像在家一样配置和管理设备,避免了将设备服务直接暴露在公网的安全风险。

在这些场景下,选择方案的核心权衡在于:延迟、带宽成本、安全性和易用性。对于延迟敏感的游戏,P2P是首选;对于需要稳定可靠访问的远程桌面,可靠的中继或虚拟专网可能更合适;对于临时调试,简单的反向代理工具最快捷。

6. 安全须知:穿透带来的风险与防范

“开端口”就像在家里墙上开窗,能通风透光,也可能让小偷有机可乘。内网穿透在带来便利的同时,也扩大了攻击面。

主要风险:

  1. 服务暴露:如果你映射的是带有漏洞的旧版服务(如未更新的Web服务器、数据库),攻击者可能会利用漏洞入侵。
  2. 弱密码爆破:将RDP、SSH、路由器管理界面等端口暴露在公网,如果密码强度不够,极易被暴力破解。
  3. 内网渗透:一旦攻击者通过某个暴露的服务攻破一台内网机器,他可能会以此为跳板,攻击内网中更脆弱的其他设备。

基础防范措施:

  • 非必要不映射:只映射绝对需要的端口。
  • 强密码与密钥认证:对所有暴露的服务使用复杂密码,SSH优先使用密钥对认证,禁用密码登录。
  • 更改默认端口:将常见的服务端口(如SSH的22,RDP的3389)改为不常见的高位端口,可以减少自动化扫描工具的骚扰。
  • 使用VPN/虚拟局域网:这是更安全的方式。先通过加密的VPN(如WireGuard)接入家庭网络,再像在本地一样访问所有服务。这样你只暴露了一个VPN端口,且通信全程加密。
  • 防火墙最小化原则:在路由器和你电脑的防火墙上,只允许特定的IP段或地区访问映射的端口(如果可能)。有些云服务商的安全组功能非常强大。
  • 定期更新:保持所有暴露的服务软件、操作系统处于最新状态,及时修补安全漏洞。

说到底,技术是工具,理解其原理是为了更好地驾驭它。从被“连不上”问题困扰,到自己动手配置穿透,再到理解背后的网络博弈,这个过程本身就是一种极佳的实践学习。下次再遇到连接问题时,希望你能胸有成竹,快速定位到是NAT类型太严格,还是端口没映射,或是防火墙在作祟,然后选择最适合你的那把“钥匙”,打开那扇网络之门。

FRP内网穿透实战:除了Web服务,还能这样玩(远程桌面、SSH、游戏联机) 本文详细介绍了FRP内网穿透工具的高级应用场景,包括远程桌面、SSH连接和游戏联机等。通过实战配置示例和性能优化技巧,帮助用户突破网络限制,实现高效远程办公和娱乐体验。特别适合需要外网访问内网服务的开发者和技术爱好者。 阅读详情

相关推荐

告别公网VPS!用KSA搭建P2P内网隧道的3种实战场景(游戏联机/远程办公/文件共享)

本文详细介绍了如何利用KSA工具搭建P2P内网隧道,实现游戏联机、远程办公和文件共享三大实战场景。通过创新的端对端技术,KSA无需依赖公网VPS,直接建立加密通道,显著降低延迟并提升传输效率。文章包含具体配置步骤、性能对比测试及安全优化建议,是替代传统组网方案的实用指南。

weixin_29206669的博客 134

P2P内网穿透终极指南:零基础实现远程访问

还在为无法远程访问公司电脑而烦恼?想和朋友联机玩游戏却被网络限制困扰?P2PTunnel这款基于P2P技术的TCP/UDP内网穿透隧道工具,让你无需公网IP和服务器,轻松实现跨网络访问。 ## 为什么需要P2P内网穿透? 在日常工作和生活中,我们经常会遇到这样的场景: - 🏢 **远程办公**:下班后需要紧急处理公司电脑上的文件 - 🎮 **游戏联机**:和朋友在不同网络环境下想一起玩游

gitblog_01113的博客 557

告别内网穿透!用Zerotier搭建P2P异地组网,实测延迟低至4ms(附Docker一键部署脚本)

本文详细介绍了如何利用Zerotier实现高效P2P异地组网,替代传统内网穿透方案。通过解析Zerotier的技术原理、部署方法及性能优化技巧,帮助用户实现低至4ms延迟的跨地域网络连接,特别适合远程办公、游戏联机等场景。

weixin_30752699的博客 522

如何实现零服务器远程访问?P2P隧道技术深度解析

想象一下这样的场景:周末想和朋友联机游戏,却发现双方都在内网无法直连;下班后需要远程办公,却苦于没有公网IP无法访问公司电脑。这些问题困扰着无数网络用户,而**p2ptunnel**的出现,正是为了打破这些连接壁垒,让零服务器远程访问成为现实。 ## 技术原理揭秘:智能穿透与安全加密 **p2ptunnel**的核心魅力在于其智能化的网络穿透能力。传统的内网穿透方案往往需要依赖第三方服务器作为

gitblog_00313的博客 379

【scratch音乐课】天空之城:音符与节拍、消息与链表

scratch是一个非常小巧的青少年编程工具,自带程序编写语句,积木式语句非常直观、易用,可创作数学、科学、音乐、绘画等方面作品。本文用scratch“演奏”一首大家非常熟悉的《天空之城》,并向大家介绍一些基本乐理知识,以及scratch中消息、链表的使用。

★·°立芯;︶︵︶ 1万+

AI 技术新手入门与实战指南

仅仅能对话还不够,实际应用中,我们往往需要让 AI 处理特定的业务数据。比如,从日志文件中提取错误码,或者将非结构化的用户反馈整理成 JSON 格式。这时候,自定义输入和严格的结果验证就显得尤为重要。假设我们需要让 AI 分析一段服务器日志,并只返回错误的级别和简述。请分析以下日志片段,提取所有 ERROR 级别的信息。要求输出格式为 JSON 列表,包含 'timestamp' 和 'message' 两个字段。不要输出任何多余的解释文字。日志内容: {

2600_94936330的博客 2681

远程办公/开发调试/IoT必看:内网穿透典型应用全场景解析

在当今数字化时代,越来越多的应用场景需要让内网(私有网络)服务能够被外网(公共网络)访问。无论是远程办公、开发调试,还是物联网(IoT)设备管理,内网穿透技术都发挥着关键作用。选择合适的穿透方案,可以极大提升工作效率,同时确保安全性。:不同目标IP/端口会分配不同映射端口(穿透最难,通常需中继)。:外网任意IP和端口均可访问映射后的内网服务(穿透最容易)。:将内网RDP/SSH端口映射到公网服务器,通过域名访问。:适用于需要固定IP访问的设备(如摄像头RTSP流)。(HTTPS/WSS代替HTTP/WS)

Kathy_1122的博客 1157

R语言分段回归

1.利用虚拟变量进行线性回归 (MEdata.csv的数据来源:https://github.com/ChenQihome9/优快云-Data-Library/blob/master/MEdata.csv) 问题13:针对TAX~GDP,使用分段回归方法,找到其回归方程。编程,并根据程序结果叙述如下几方面问题:(1)分几段最佳?(不超过5段内)(2)分段位置定在哪儿最佳?(3)写出最佳方...

ChenQihome9的博客 1万+

快解析内网穿透,无需公网IP

快解析内网穿透的原理是通过云服务器与内网服务器建立连接,把内网端口映射到云端,以此实现各类局域网服务基于域名的互联网访问,整个过程不保留用户数据信息,核心数据仍保存在用户内网服务器上,而且,快解析曾荣获国家级高新技术企业认证,是少数获得多项核心专利的软件服务商。2.公网IP让你有更好的下载体验。公网IP是全球可路由的地址,通俗的说,如果你设置的防火墙允许,你的设备有公网地址,那么你就可以在世界上的任何地方通过互联网访问到你的设备,如果你的电脑有公网地址,那么你就可以在任何地方远程连接到你的电脑。

kuaijiexi的博客 860

Adams Car——Adams car与Simulink联合仿真

Adams与simulink悬架联合仿真

Mr.邹的博客 2127

PCL 点云按强度渲染颜色【2025最新版】

点云按反射强度渲染颜色,博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 2万+

一文搞定所有远程访问场景:内网穿透的原理、选型与实战部署

"远程"已经成了当代人的日常:远程办公访问公司内网,远程调取家里的文件和监控,远程调试开发项目,远程和朋友联机游戏……几乎所有和数字生活相关的事,都有远程访问的需求。内网设备没有公网 IP,外网根本访问不到。不同的远程场景,大家都有各自的将就办法:远程办公用第三方远程软件,画质差、延迟高、传文件慢;远程看监控用厂商云服务,限速还得按月付费;远程开发买云服务器,成本高、部署麻烦;远程联机靠加速器,治标不治本。每个场景装一个软件,既麻烦又不统一。

xixiaoyunya的博客 315

Ardupilot飞控姿态角与姿态角速度控制过程分析(超长篇)

目录 目录 摘要 1.代码控制过程分析 摘要 本节主要记录自己学习ardupilot飞控代码的姿态角速度的控制过程 1.代码控制过程分析 可以看出:AC_AttitudeControl *attitude_control; //指针对象 virtual void rate_controller_run() = 0;是AC_AttitudeContro...

陌城烟雨 1万+

一文带你了解什么是内网穿透,内网穿透常见简单通用的几种方式方法和具体实现步骤

内网穿透是一种通过中间服务器将外部网络请求转发到内网设备的技术,实现外网访问内网服务的目的。内网穿透,即NAT穿透,内网映射,内网端口映射,是一种技术手段,允许外部网络(如互联网)直接访问位于内部局域网(如家庭或企业网络)中的设备或服务。

2301_77472496的博客 1384

远程声控系统(MATLAB代码见优快云资源)

远程声控系统技术报告 一、题目要求 实现一个远程声音控制系统。首先采集不同的语音指示信号,进行适当压缩;然后通过噪声信道实现远程传输,远端接收后再通过适当计算识别出是何指示,最后送入一个处于未知状态、但能控/能观的控制系统,完成不同的控制动作。 二、问题分解与解决思路 2.1 系统设计 实验中以汉语数字语音1~9作为指令,数字语音“1”代表一号指令,数字语音“2”代表二号指令,依次类推。发送端发出语音“1”,发送端对应的数字语音文件为“1b.wav”,通过信源编码对语音进行压缩编码,然后进行信道编码并进行基

业精于勤,荒于嬉 5736

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【Linux】内网穿透原理

本文主要介绍了内网穿透原理及应用 内网穿透是一种打破网络隔离的技术,使公网设备能够访问局域网内的服务。核心原理是通过NAT穿透,解决内网设备因缺乏公网IP而无法直接访问的问题。常见应用场景包括远程访问NAS、本地开发调试、远程办公等。 实现方式主要有三种: 中继转发:通过公网服务器中转数据,兼容性强但依赖服务器带宽 P2P穿透:直接建立点对点连接,延迟低但对网络环境要求高 反向代理:专为HTTP/HTTPS服务设计 以FRP工具为例,通过客户端主动连接服务端建立隧道,实现请求转发。

m0_66434421的博客 1137

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

内网穿透技术详解:原理、工具与实践,程序员必备技能,值得收藏!

内网穿透是通过中间服务器将外部请求转发到内网设备的技术,解决私有IP无法直接暴露于公网的问题。文章介绍了内网穿透原理(端口转发和点到点直连)、应用场景(远程办公、开发测试等)、常见工具(如nat123、Ngrok等)及具体实现步骤。通过内网穿透技术,可在没有公网IP的情况下使本地服务器提供互联网服务,是个人和本地项目的理想选择。

m0_71746416的博客 1184

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

《Web部署应知应会》NO 1:内网穿透一文讲透 十大主流工具深度解析与部署指南

本文深入解析内网穿透技术的原理与应用,涵盖中间服务器中转(如FRP、ngrok)与P2P直连(如ZeroTier)两大核心模式,结合动态DNS(花生壳)、SSH隧道等10种主流工具的部署方法与场景适配。通过技术对比与安全合规建议,为开发者、企业及个人用户提供从临时调试到企业级服务穿透的全场景解决方案,助力实现跨网络资源的安全高效访问。

yweng18的博客 2609
上一篇: 深入解析反相降压-升压转换器的工作原理与设计实践
下一篇: AOSP Native Service开发实战:从AIDL接口定义到Binder通信实现
Python
博客等级 码龄26年 1973粉丝 1567原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值