在网站上聊天时,我能否获取接收者的 IP 或网站的服务器 IP?

在网站上聊天时,我能否获取接收者的 IP 或网站的服务器 IP?

我在想,当我在网站上与某人聊天时(例如:facebook.com),我发送或接收的所有消息都来自 Facebook 服务器的 IP,而不是我朋友的 IP,换句话说,服务器充当我们之间的中间主机。

在阅读了大量资料之后,我听说了一种叫做客户端到客户端的消息传递的东西,这个东西(我认为)能够接收我朋友用他的 IP 发送的消息,我的朋友用我的 IP 接收我的消息,所以网站的运行只是为了控制流量。

我真的很困惑,有人能帮我理解吗?

答案1

聊天的形​​式多种多样,因此答案因实现方式/网站而异。主要方法是直接的“客户端到客户端”聊天,其中网站提供应用程序界面并促进握手以将两个用户介绍给对方(您不知道如何连接到人 B,他们也不知道如何连接到您,但你们都知道如何连接到网站,网站协商你们两个彼此连接)。这对网站运营商来说有很大的好处,因为它对他们很有吸引力(访问我的网站,您就可以聊天),但他们不必承担实际处理/传递所有流量的开销。

另一种最常见的方法更像您最初的想法。您可以使用 Facebook 作为此方法的示例。您发送一条消息,该消息将发送到网站的服务器,记录在他们的日志中,存储在他们的数据库中等。当 B 的应用程序执行查找时,该消息也会通过数据库中的可用信息发送给收件人。有一些钩子和回调可以让收件人知道有一条新消息在等待,他们的应用程序会在收到通知后立即下载该消息,从而呈现出即时直接消息传递的界面;但实际上,所有这些都是由托管网站作为内容提供的。

很容易看出。客户端与客户端之间的直接消息不会有跟随您到不同浏览器的历史记录(应用程序可能会将聊天历史记录存储在本地计算机上,但不会跟随到另一台计算机,因为另一台计算机不是原始直接通信的一部分)。通过网站路由/存储在网站上的聊天通常确实有以前的聊天历史记录会跟随您(因为您的聊天记录全部发送到网站并保存在网站上,Facebook 再次是一个很好的例子)。

相关内容