- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
内网穿透是一种将内网中的网络服务通过映射到公网服务器上,使得公网客户端可以直接访问内网中的网络服务的技术。正常情况下,内网中的计算机和网络设备只能在内网中互相通信,对于外网中的计算机来说,无法直接访问内网中的计算机和网络设备。这就导致了内网与外网之间的信息交换存在着困难和瓶颈。而内网穿透技术则可以打通这个障碍,让内网与外网之间的数据流动变得更加畅通和便利.
。
ps:以上的前提条件是设备可以访问外网 。
这四款内网穿透工具我本人有幸都有用过,在我没有拥有带公网ip的云服务器之前,我最早用的是ngrok和花生壳,这2个工具的优势就是,只需要配置一个客户端,你设置好本地需要映射到外网的端口,就可以使用,但是在免费的情况下,有所限制,例如抠搜的花生壳只提供1G流量,我当时用花生壳是在公司内网的服务器搭建了一个禅道系统,服务器常开,让外网的同事也能访问到内网的bug系统.
。
有了云服务器之后,研究了frp,这个可以不受花生壳和ngrok的流量等限制,但是需要自己去搭建客户端和服务端,一一配置对应的端口,有一个后台可以自己配置.
。
再后来,就是现在使用的ZeroTier,我的需求只要可以访问到家庭中的设备即可,这个工具的好处是,可以定义一个虚拟的局域网,然后可以给加入这个网络的设备定义一个ip地址,这些设备可以通过这个虚拟的局域网ip地址互相进行访问,不需要和前面3个工具那样,需要设置每个端口本地和服务端的对应关系,这个端口多了极其方便。速度方面,这个会自动尝试给进行网络打洞,进行p2p连接,只要打洞成功,端对端速度非常快。如果p2p连不上的情况下,才会走类似上面3个工具的端口转发技术,如果对不能打洞连接的访问速度有要求,或者说免费的25个设备不够用,可以自行搭建moon服务器来进行扩展.
。
最后此篇关于简单聊聊内网穿透(背景-概念-原理-工具对比)的文章就讲到这里了,如果你想了解更多关于简单聊聊内网穿透(背景-概念-原理-工具对比)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 10年前关闭。 Improve this qu
我正在开发一个 Android 应用程序。在此应用程序中, Logo 栏显示在所有页面( Activity )上,或者我们可以说它在所有页面上都有标题。这个 Logo 栏有几个图标,如主页、登录、通知
我正在使用 hadoop 使用开源接口(interface) HVPI 处理视频。然而,inputsplit 的实现,更准确地说是在 isSplitableobContext (context, Pa
1. 是什么? MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System
有没有办法使用 c++20s 的概念来检查一个值是否满足某些要求? 假设我正在编写某种使用分页的容器,并且我想让页面大小成为模板参数。 template class container; 我可以使用带
如何在 ArrayList 中循环遍历 ArrayList? 例如,如果我有一个名为 Plants of Plant 对象的 ArrayList。每个 Plant 对象内部都有一个随机数量的花名。我如
如何在UML类图中绘制C++概念? 具体来说,我有以下代码: template concept Printable = requires(T a, std::ostream &where) {
我有兴趣制作一个网站,在访问者访问时闪现整个网络历史记录。我计划使用 JavaScript 来获取每个观看者计算机上的历史记录,并根据他们拥有的内容以不同的速度对其进行动画处理。我的想法是使用 his
有一个模板定义,例如: template void foo( void ) { /* ... */ } 如何定义一个概念,以便N必须为非零正值(N> = 1)? 就像是: template con
封装是信息隐藏还是导致信息隐藏? 正如我们所说,封装将数据和函数绑定(bind)在单个实体中,因此它为我们提供了对数据流的控制,并且我们只能通过一些定义良好的函数来访问实体的数据。因此,当我们说封装导
下面有一个简单的代码片段,它使用以下方式进行编译: g++-9 -std=c++2a -fconcepts 这是试图定义一个需要存在函数的概念。我希望输出是"is",但事实并非如此……知道为什么吗?谢
我有一个普通二元运算符的概念 template concept is_binary_operation = requires (const T& t1, const T& t2) // e.g
我正在c++ 20中实现具有启发式功能的搜索算法。 我试图用类似这样的概念来约束我的算法可以使用的功能: template concept Heuristic = requires(SelfType
我需要了解 SAS 如何读取/执行数据步骤。当我查找有关 SAS 如何读取数据步骤的信息时,我似乎只找到有关它如何读取以进行合并的信息,我不了解与常规数据步骤相关的信息。比方说,我有这行代码: dat
最近我看到一个关于“框架”的问题,如果“框架”有不同的类型或概念。那么,存在不同“类型”的“框架”吗? 例如:NodeJS 是一种“类型”(概念),而 Hibernate ORM 是另一种“类型”(概
如何使用任何技术禁用或清除客户端浏览器 Cookie 我认为使用 javascript 可以用于任何技术 最佳答案 var cookies = document.cookie.split(";");
我正在使用 target = "_blank" 单击链接时生成新选项卡。但是,浏览器会将焦点移至该选项卡。 有没有办法让焦点保持在当前标签页上? 回答摘要 基本上,只需发送一个模拟控件点击的当前事件。
我正在尝试在我的 android/firebase(cloud firestore) 应用程序上添加一项需要其他用户批准/拒绝的功能。例如,当 Air&BnB 上的用户想要预订一个地方时,所有者必须批
这个问题在这里已经有了答案: mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc... expec
public class MyClass { public static void main(String[] args) { System.out.println("Hell
我是一名优秀的程序员,十分优秀!