Networking 分布式Erlang、网络、回显服务器

Networking 分布式Erlang、网络、回显服务器,networking,erlang,telnet,distributed,Networking,Erlang,Telnet,Distributed,所以我一年的项目涉及到用Erlang做一些非常糟糕的事情。我才刚刚开始着手解决这个问题。我对人际网络的了解非常有限,需要问一些事情如何/为什么不起作用 我遵循了本指南中的代码,该代码为服务器提供了Erlang代码,以便回显输入到其中的文本 运行它的指令是启动erlang代码,他返回端口8888,然后telnet到本地主机,瞧,访问echo服务器 我的问题是,在我的机器上运行这个服务器,让一个朋友telnet进入服务器,对我来说是否容易 我原以为只要给他我当前的ip地址并用它来远程登录就很容易了,

所以我一年的项目涉及到用Erlang做一些非常糟糕的事情。我才刚刚开始着手解决这个问题。我对人际网络的了解非常有限,需要问一些事情如何/为什么不起作用

我遵循了本指南中的代码,该代码为服务器提供了Erlang代码,以便回显输入到其中的文本

运行它的指令是启动erlang代码,他返回端口8888,然后telnet到本地主机,瞧,访问echo服务器

我的问题是,在我的机器上运行这个服务器,让一个朋友telnet进入服务器,对我来说是否容易

我原以为只要给他我当前的ip地址并用它来远程登录就很容易了,但没用

老实说,我不认为这是我应该做的关于与erlang联网的研究的正确路线,但大多数地方似乎都在谈论本地运行的事情


我的理想指南应该是使用多个Erlang节点,使用一些非常基本的客户端/网络设置

如果你的朋友试图通过internet与你连接,答案是否定的,你不能简单地给他你的IP地址并让他能够连接

原因是因为。大多数计算机不是直接连接到互联网,而是先通过路由器。路由器为您的计算机提供一个本地IP地址,通常以192.168或10开头。当你向互联网上的服务询问你的IP是什么时,它会向你报告路由器面向互联网的地址,而不是你正在浏览的机器

        IP seen from upstream
YOU     10.x.x.x
 |
Router  81.157.x.x
 |
Internet
这意味着,当有人试图用您的外部IP地址连接到您的telnet服务器时,请求会到达您的路由器,而路由器不知道如何处理它。然后拒绝连接

Internet -> 81.157.x.x:8888 -> Router -> ?
解决这个问题的方法是呼叫端口转发。这是路由器上的一个配置选项,用于将给定端口的请求转发到本地网络上的IP地址。您可以通过在自己的计算机上本地检查网络配置来查找地址。不要使用在线网站,因为这样会提供路由器的公共IP地址:

Internet -> 81.157.x.x:8888 -> Router -> 10.x.x.x:8888 -> You
请注意,如果您无法控制网络,例如您在学校或工作,则需要网络管理员来完成此操作。除非是为了一些非常重要的事情,否则他们可能不想设置它。如果允许访问敏感端口,如ssh(22),那么像这样打开网络可能会很危险。此外,公司网络通常比家庭网络复杂得多,因此设置这一网络是一个大麻烦

如果你们都在同一个本地网络上,比如连接到同一个大学或工作网络,那么你们应该能够连接到本地配置(比如ifconfig)提供的IP,而不是谷歌提供的IP

如果你只是和你的朋友一起测试,一个解决方法就是使用。免费的解决方案可从中获得。您和您的朋友都需要下载并安装此应用程序。你应该创建一个专用网络,并让另一个人加入。确保您的echo服务器正在侦听0.0.0.0,这意味着所有IP地址都在侦听。然后,客户端应该能够通过服务器的Hamachi IP连接到服务器

即使您无法控制自己的网络配置,VPN解决方案也应该可以工作。这比设置端口转发更安全,因为只有VPN中的用户才能访问您的端口


最后一点,请确保您的本地防火墙已禁用,或者至少允许您的应用程序和端口8888通过。

如果您的朋友试图通过internet与您连接,答案是否定的,您不能简单地给他您的IP地址并让他能够连接

原因是因为。大多数计算机不是直接连接到互联网,而是先通过路由器。路由器为您的计算机提供一个本地IP地址,通常以192.168或10开头。当你向互联网上的服务询问你的IP是什么时,它会向你报告路由器面向互联网的地址,而不是你正在浏览的机器

        IP seen from upstream
YOU     10.x.x.x
 |
Router  81.157.x.x
 |
Internet
这意味着,当有人试图用您的外部IP地址连接到您的telnet服务器时,请求会到达您的路由器,而路由器不知道如何处理它。然后拒绝连接

Internet -> 81.157.x.x:8888 -> Router -> ?
解决这个问题的方法是呼叫端口转发。这是路由器上的一个配置选项,用于将给定端口的请求转发到本地网络上的IP地址。您可以通过在自己的计算机上本地检查网络配置来查找地址。不要使用在线网站,因为这样会提供路由器的公共IP地址:

Internet -> 81.157.x.x:8888 -> Router -> 10.x.x.x:8888 -> You
请注意,如果您无法控制网络,例如您在学校或工作,则需要网络管理员来完成此操作。除非是为了一些非常重要的事情,否则他们可能不想设置它。如果允许访问敏感端口,如ssh(22),那么像这样打开网络可能会很危险。此外,公司网络通常比家庭网络复杂得多,因此设置这一网络是一个大麻烦

如果你们都在同一个本地网络上,比如连接到同一个大学或工作网络,那么你们应该能够连接到本地配置(比如ifconfig)提供的IP,而不是谷歌提供的IP

如果你只是和你的朋友一起测试,一个解决方法就是使用。免费的解决方案可从中获得。您和您的朋友都需要下载并安装此应用程序。你应该创建一个专用网络,并让另一个人加入。确保您的echo服务器正在侦听0.0.0.0,这意味着所有IP地址都在侦听。然后,客户端应该能够通过服务器的Hamachi IP连接到服务器

即使您无法控制自己的网络配置,VPN解决方案也应该可以工作。这比设置端口转发更安全,因为只有在