gpt4 book ai didi

Javascript - 简单地识别浏览器连接到哪个网络

转载 作者:行者123 更新时间:2023-11-29 21:46:51 25 4
gpt4 key购买 nike

我设置了一个 Node js 网络服务器,它在 JSON 文件中提供图像链接。一个链接指的是 Internet 上的图像,另一个链接指的是我的家庭服务器中的本地目录。

网络服务器在线,不在我的家庭服务器上。 出于带宽使用目的,网络服务器仅提供图像链接。如果客户端通过我的家庭网络连接,则使用本地链接,如果不是,则使用 Internet 链接。

目前,我在客户端提供一个包含链接的 JSON 文件,并且总是选择互联网文件,因为我不知道如何让客户端知道他在我的本地网络上。

有什么东西存在吗?我已经研究过获取路由器的 mac 地址(第一跳)、网络 ssid ……但它似乎无法仅使用 JavaScript 实现。

所以,基本上,这是我的设置:

家庭网络:

  • 主服务器(本地存储的图像)
  • 通过此连接连接的潜在客户

网络托管内容:

  • Web 服务器( Node js)
  • FTP(存储图像)
  • 已连接潜在客户

在任何情况下,客户端都需要互联网连接,因为 Node 服务器在线。但是,如果客户端与本地家庭服务器在同一个(我的本地网络)网络上,他应该使用本地链接来获取图像。

我需要这两种解决方案之一:

  • 客户端知道他是否在我的本地网络上,然后拿起好的链接
  • 网络服务器知道客户端来自哪里,并直接提供服务良好的链接(因此,客户端没问题)。那个问题是我的网络服务器没有托管在我的家庭网络上。

最佳答案

你将不得不在服务器端编写一些东西,让它工作。

只有服务器可以判断客户端是否与服务器在同一个网络上。客户端 JS 根本无法访问网络信息。

你会做这样的事情:

根据客户端请求,服务器:

  • 检查客户端的连接 IP 是否为本地 IP。
  • 如果是这样,请设置某种客户端可以读取的 bool 值。
  • 然后客户端根据该 bool 值选择本地或远程 url 集。

选择要包含在页面中的 url 稍微简单一些:

根据客户端请求,服务器:

  • 检查客户端的连接 IP 是否为本地 IP。
  • 如果是这样,请在请求的网页中包含本地 URL。否则,包括远程 URL。

关于Javascript - 简单地识别浏览器连接到哪个网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30847083/

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