当前位置 : 主页 > 大数据 > 区块链 >

真实的跨平台分散式异步对等通信

来源:互联网 收集:自由互联 发布时间:2021-06-22
我对网络编程的了解有限,因此,所有评论都非常受欢迎.基本上我的问题归结为以下问题: Q1.是否存在分散的异步跨平台点对点通信? 让我解释一下自己. 如果我们在具有实际IP地址的计
我对网络编程的了解有限,因此,所有评论都非常受欢迎.基本上我的问题归结为以下问题:

Q1.是否存在分散的异步跨平台点对点通信?

让我解释一下自己.

>如果我们在具有实际IP地址的计算机上运行两个http服务器,那么显然答案是肯定的,假设有人为交互编写协议.
>更进一步,如果其中一个(或两个)都在路由器后面,那么,通过端口转发,仍然可以建立通信.然而,这里的问题开始是因为如果有人想在后台运行这样的服务器,比如说在手机中,依赖这个服务器的应用程序真的可以在家里工作时(我们真的不能指望请求端口转发)到处都是).
>但即便如此,
> Q2.当有人不使用Wi-Fi时,移动电话是否从电信公司获得实际的IP地址?
>如果这是真的,那么显然可以通过在智能手机上运行http服务器而不使用Wi-Fi来实现跨平台的异步对等通信. (我知道这不方便,但肯定是可行的.)

最后,我能想到的两个(也许还有更多)相关问题是:

> Q3. How does Skype really work?
> Q4. Viber如何真正起作用?

根据Skype的答案,它说:如果其中一个被叫方或两个都没有公共IP,那么它们会通过UDP或TCP将语音流量发送到另一个在线Skype节点.
因此,似乎Skype中没有直接通信,因为他们必须使用中间人进行这种情况.

关于Viber,我找不到这个特定问题的完整答案.人们通过Viber中央服务器互相交谈,还是建立直接连接?当然,如果他们确实建立了直接连接,那么我真的想知道他们如何管理这样的事情,因为手机可能有也可能没有物理地址.即使Viber没有运行而且我在路由器后面,Viber消息如何从我的朋友那里发送到我的手机?

我猜Viber的答案实际上是推送通知,但据我所知,推送通知的所有变体都依赖于开放连接,然后应用程序的服务器通过这样的连接将通知发送给客户端.所以,这种方法让我们觉得它是异步的,但实际上并非如此.我们在欺骗,因为与服务器之间存在持续开放的连接,此外,据我所知,应用程序服务器必须通过该服务器推送通知.示意图:

A>中央应用服务器>中央服务器与我的手机打开连接>我

所以,这似乎又是一种集中的方法.

老实说,我能想到的唯一方法是分散和异步(在移动电话上)是在每个平台/设备上运行http服务器,但这是以不使用Wi-Fi为代价而假设一家电信公司真的为每部手机分配一个物理IP地址(我不知道它是否属实,是吗?).

WASTE,暗网,F2F等怎么样?它们是否在某些相关方之间更直接的异步通信意义上提供了优势?是否存在使用此类通信方法的实际应用程序(也包括移动电话).

真的,这不是我想要解决的实际问题,但我想知道最先进的技术是什么,以便我可以弄清楚如何从那里开始.所以,所有评论都非常受欢迎.如果您有关于最新技术的参考资料我也想了解它们,但简短的描述也会很好.

我提前感谢你所有的时间和精力.

你问了很多问题,这里是答案的开头:

Q1:是的.例如,采用BitTorrent非常成功的1000万节点网络.除了自举过程之外,协议完全是分散的和异步的.有关详细信息,请参阅here.

Q2:是的!在您的移动电话上访问www.whatismyip.com,您将看到您分配的IP.但是,您可能会被过滤掉(例如:端口80上的传入流量可能会被阻止).

问题3:它具有P2P和巧妙的技巧来解决NAT问题 – 有关详细信息,请参阅here.

Q4:我不知道.

网友评论