科普:你的笔记本电脑中有三个IP:127.0.0.1、无线网 IP 和局域网 IP;两个域名:localhost和host.docker.internal

embedded/2025/2/25 14:52:17/

三个IP

你的笔记本电脑中有三个IP:127.0.0.1、无线网 IP 和局域网 IP。
在不同的场景下,需要选用不同的 IP 地址,如下为各自的特点及适用场景:

127.0.0.1(回环地址)

特点
  • 127.0.0.1 是一个特殊的 IP 地址,被称为回环地址,它始终指向本地主机。使用这个地址发送和接收数据不会经过物理网络接口,而是直接在本地计算机的网络协议栈中进行处理。
  • 与之对应的域名是 localhost,在很多系统和应用中,localhost 会被解析为 127.0.0.1。
适用场景
  • 本地开发和测试:当你在本地开发一个 Web 应用、数据库服务或其他网络应用时,可以使用 127.0.0.1 来测试应用的功能。例如,你使用 Python 的 Flask 框架开发了一个简单的 Web 应用,在本地运行时可以通过 http://127.0.0.1:5000 (假设应用监听 5000 端口)来访问和测试,这样可以避免网络干扰,专注于应用本身的开发和调试。
  • 本地服务间通信:如果你的计算机上同时运行了多个服务,并且这些服务需要进行通信,使用 127.0.0.1 可以确保数据在本地安全、快速地传输。比如,一个数据库服务和一个应用服务都运行在本地,应用服务可以通过 127.0.0.1 连接到数据库服务。

无线网 IP

特点
  • 无线网 IP 是指计算机通过无线网卡连接到无线网络时所分配到的 IP 地址。这个 IP 地址可能是动态分配的(通过 DHCP 协议),也可能是静态配置的。
  • 如果无线网络连接到互联网,无线网 IP 可以用于与外部网络进行通信。
适用场景
  • 移动办公和上网:当你使用笔记本电脑、平板电脑或智能手机等设备通过无线网络连接到互联网时,无线网 IP 允许你访问各种在线服务,如浏览网页、收发邮件、观看视频等。
  • 与同一无线网络内的设备通信:如果你想与同一无线网络中的其他设备进行文件共享、打印服务或游戏联机等操作,可以使用无线网 IP 来建立连接。例如,在家庭无线网络中,你可以通过无线网 IP 访问共享的文件服务器或连接到其他设备上的共享打印机。

局域网 IP

特点
  • 局域网 IP 是指计算机在局域网内所使用的 IP 地址,通常是私有 IP 地址,如 192.168.x.x、10.x.x.x 或 172.16.x.x - 172.31.x.x 等。这些 IP 地址在局域网内是唯一的,但在互联网上是不可直接访问的。
  • 局域网 IP 地址由局域网内的路由器或 DHCP 服务器分配,用于局域网内设备之间的通信。
适用场景
  • 企业内部网络通信:在企业或办公环境中,计算机通过局域网连接在一起,使用局域网 IP 进行内部通信,如访问内部服务器、共享资源、进行协同工作等。例如,员工可以通过局域网 IP 访问公司的文件服务器、邮件服务器或内部办公系统。
  • 家庭网络设备互联:在家庭网络中,各种智能设备(如智能电视、智能音箱、摄像头等)通常连接到同一个局域网中,使用局域网 IP 进行设备之间的通信和控制。你可以通过手机上的应用程序,使用设备的局域网 IP 来控制智能设备的开关、调节音量等。

选择使用哪个 IP 地址取决于具体的应用场景和需求。如果是本地开发和测试,优先选择 127.0.0.1;如果需要访问互联网或与同一无线网络内的设备通信,使用无线网 IP;如果是在局域网内进行设备之间的通信和资源共享,则使用局域网 IP。

两个域名

你的笔记本电脑中还有两个不同的域名:
host.docker.internallocalhost,这两个不同的域名在功能和使用场景等方面存在区别,以下是具体介绍:

概念

  • host.docker.internal:是Docker为容器提供的特殊域名,用于让容器内的应用访问宿主机上的服务或资源,它会被解析为宿主机的IP地址。
  • localhost:通常指本地主机,在网络通信中,它代表当前设备自身,一般被解析为127.0.0.1(IPv4)或::1(IPv6),主要用于本地进程之间的通信,即同一台计算机上的不同程序或服务之间的交互。

使用场景

  • host.docker.internal:主要用于Docker容器环境。比如在容器化的开发环境中,容器内的应用需要调用宿主机上运行的数据库、消息队列等服务时,就可以使用host.docker.internal来连接宿主机上的相应服务。
  • localhost:适用于各种本地开发和测试场景。例如,在本地开发Web应用时,前端代码和后端代码都在本地运行,后端服务监听在localhost上,前端通过localhost地址来向后端发送请求,获取数据或执行其他操作。

可访问范围

  • host.docker.internal:只能在Docker容器内部使用,用于容器与宿主机之间的通信。在宿主机或其他非Docker容器的环境中,通常无法使用该域名进行访问。
  • localhost:主要在本地环境中使用,用于本地应用程序之间的通信。一般情况下,它不能被外部网络中的其他设备访问,除非进行了特殊的网络配置,如端口转发等。

实际应用举例

  • 假设在宿主机上运行了一个MySQL数据库,端口为3306,同时有一个Docker容器运行着一个Java应用,需要连接到宿主机上的MySQL数据库。在Java应用的配置文件中,就可以使用host.docker.internal:3306作为数据库的连接地址来进行连接。
  • 若在本地计算机上使用Python的Flask框架搭建了一个Web服务,监听在localhost:5000,在本地的浏览器中输入http://localhost:5000就可以访问该Web服务,进行测试和开发。

http://www.ppmy.cn/embedded/165079.html

相关文章

数据结构☞泛型

一.基础定义与应用方向 1.定义: 一般的类和方法,只能使用具体的类型 : 要么是基本类型,要么是自定义的类。如果要编写可以 应用于多种类型 的代码,这种刻板的限制对代码的束缚就会很大。----- 来源《 Java 编程思想》对泛型的介…

传统的自动化行业的触摸屏和上位机,PLC是否会被取代?

传统的自动化行业的触摸屏和上位机是否会被取代? 在工业自动化领域,触摸屏和上位机长期扮演着核心角色,尤其在污水处理、化工生产等场景中,它们通过实时数据采集、逻辑控制、报警联动等功能,保障了生产设备的稳定运行…

Go 语言内存池 (`sync.Pool`) 深度解析

Go 语言内存池 (sync.Pool) 深度解析 在高并发和性能敏感的应用中,频繁的内存分配和释放会带来显著的性能开销,并增加垃圾回收(GC)的压力。Go 语言通过 sync.Pool 提供了一种高效的对象复用机制,能够显著减少内存分配…

DeepSeek接入Siri(已升级支持苹果手表)完整版硅基流动DeepSeek-R1部署

DeepSeek接入Siri(已升级支持苹果手表)完整版硅基流动DeepSeek-R1部署 **DeepSeek** 是一款专注于深度学习和人工智能的工具或平台,通常与人工智能、机器学习、自动化分析等领域有关。它的主要功能可能包括:深度学习模型搜索&…

力扣138随机链表复制

给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 n…

【MySQL】第八弹---全面解析数据库表的增删改查操作:从创建到检索、排序与分页

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【MySQL】 目录 1 表的增删改查 1.1 Create 1.1.1 单行数据 全列插入 1.1.2 多行数据 指定列插入 1.1.3 插入否则更新 1.1.4 替…

AMBA-CHI协议详解(十九)

文章目录 4.6 Silent cache state transitions4.7 Cache state transitions at a Requester4.7.1 Read request transactions4.7.2 Dataless request transactions4.7.3 Write request transactions4.7.4 Atomic transactions4.7.5 Other request transactions4.6 Silent cache…

数据结构——哈希表

一、哈希表 1.1 哈希表的概念 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函…