gpt4 book ai didi

javascript - localtunnel 是如何工作的?

转载 作者:搜寻专家 更新时间:2023-10-31 23:15:00 31 4
gpt4 key购买 nike

我一直在使用 localtunnel很长一段时间,现在我想知道它是如何工作的。 Here是我读过的一篇解释相同的文章。

以下是我在上面的文章中不理解的几个术语:

the localtunnel server fires up a new TCP server on a randomly generated port greater than 1023

如何在一个服务器中触发另一个服务器?

If the localtunnel client is able to connect to the localtunnel server’s randomly generated TCP port, by default it opens 10 TCP sockets to the server.

当客户端可以在需要时通过点击某个特定的 URL 连接到服务器时,打开与服务器的 TCP 套接字的目的是什么?

我还尝试从 Github repository 中读取代码,但是理解基本概念太复杂了,因为我是 Nodejs 及其框架的初学者。

任何基本解释都会有所帮助!

最佳答案

这里是 localtunnel 中涉及的所有服务的图表,按主机分组。

       localhost:             [localtunnel client]  --- [HTTP client] --- [your server]
| |
| |
localtunnel host: [express server] --- [TCP server]
|
|
internet user: [app]

基本上,当您在控制台中键入 lt --port 8000 时,它会启动 localtunnel 客户端。这连接到位于云中的快速服务器。此快速服务器会返回您的应用 应连接到的地址。然后它会启动 tcp 服务器 来监听来自您应用的连接。 tcp 服务器还与 localtunnel 客户端打开 10 个套接字,用于发送数据。当连接来自应用程序时,tcp 服务器将数据发送到 10 个套接字之一上的 localtunnel 客户端。然后数据通过管道传输到本地 http 客户端,该客户端向您的服务器 发出请求。

回答您的问题:

How is it possible to fire another server within a server?

node.js 服务器可以使用 child_process 启动其他进程.

What is the purpose of opening TCP sockets with the server when client can connect to the server by hitting some specific URL whenever required?

在这里,您混淆了 localtunnel 客户端和 internet 客户端(我图中的应用程序)。 TCP 服务器需要保持 2 个连接:一个与外部世界(应用),一个与localtunnel 客户端。文中提到的10个套接字是连接到localtunnel客户端,用于发送数据。

关于javascript - localtunnel 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53170115/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com