2016-10-01 31 views
0

允许两台计算机通过互联网进行通信而不打开端口或运行服务器的服务是什么。我确定的两个选项是电子邮件(有点延迟)和irc,但我想知道还有哪些其他选项或服务可用。让两台计算机通过互联网进行通信而不开放端口的选项

+0

irc和电子邮件都涉及开放端口.. –

+0

@ EbbeM.Pedersen运行irc或电子邮件服务器需要打开端口。我说的是双方都是客户。例如,我不需要在我的路由器上打开任何端口来连接到irc或发送和接收电子邮件。 – PyRulez

回答

0

我认为这个问题有点误导。实质上,你要求的是如何绕过防火墙。这是如何工作的:你有两台主机A和B:

A --- A的防火墙---互联网--- B的防火墙---乙

当A将消息发送到B,B的防火墙检查端口是否打开。如果没有,它会阻止它。

一个--80 - > AF --80 - >互联网--80 - > X BF(80端口关闭)

A的防火墙的工作原理大致相同:

(端口80关闭)AF X < --80--互联网< --80-- BF < --80--乙

如果它是开放的,但是,B的防火墙让它通过:

A --- > AF --->互联网---> BF ---> B

A在这里担任客户。现在,防火墙知道有一个连接,所以当B发送一条信息:

一个< === AF < ===互联网< === BF < ===乙

他们可以交换消息,只要他们希望,直到其中一人关闭连接。发生这种情况时,A的防火墙(没有打开端口的防火墙)将停止允许数据包通过。

所以,为了有不要求任何一端改变防火墙规则的连接,您可以执行下列操作之一:

  1. 在中间的服务器。这就是大多数电子邮件所做的--A和B作为客户端连接到电子邮件服务器(其防火墙设置正确以允许这样做)。你可以运行你自己的服务器,或者使用像ngrok这样的服务。

  2. 找到每个防火墙零日。

+0

那么,我可以运行为什么自己的服务器,但我想知道有什么服务来路由这样的流量。我可以使用电子邮件,但速度很慢。 IRC看起来像一个奇怪的解决方案。 – PyRulez

+0

我已经添加了一个伟大的服务,将愉快地为你做这个链接。检查一下,如果这是你需要的,不要忘记接受答案。 –

0

原则UDP hole punching满足您的要求,但它不能保证工作,我甚至会说这是不可能的工作(我尝试了一些,但没有找到两个网络的地方都可以)。这是NAT traversal的特殊情况,请查看其他选项。

另一种可用于单向通信的选项是ngrok:它允许您将localhost暴露给外部世界,就好像它是公共服务器一样。从他们的网站看,我想他们公开它作为一项服务,以及提供您可以在自己的服务器上使用的源代码。

+1

ngrok看起来很有前途 – PyRulez

相关问题