127.0.0.1、0.0.0.0和本机IP地址的区别和使用

表面上的区别如下:

0.0.0.0 不能ping通,代表本机所有的IP地址;包括多个网卡。
    监听127.0.0.1,创建Socket,那么用本机地址建立tcp连接不成功,反过来也是如此;
    而监听0.0.0.0创建Socket,那么无论使用127.0.0.1或本机ip都可以建立tcp连接。
    同样本机如果有多个网卡,那么绑定与监听不同的IP地址,显然也不能建立tcp连接。
    0.0.0.0建立tcp连接的时候也可以通过绑定IP_ADDR_ANY来实现。

事实上处理的区别,如下图:

他们是在数据链路层区别开的,路径很清楚,就不详述了。

时间: 2025-01-02 13:41:20

127.0.0.1、0.0.0.0和本机IP地址的区别和使用的相关文章

127.0.0.1和localhost和本机IP三者的区别!

1, 先来说下回送地址(Loopback Address): 回送地址是主机用于向自身发送通信的一个特殊地址(也就是一个特殊的目的地址).可以这么说:同一台主机上的两项服务若使用回送地址而非分配的主机地址,就可以绕开TCP/IP协议栈的下层.(也就是说:不用再通过什么链路层,物理层,以太网传出去了,而是可以直接在自己的网络层,传输层进行处理了) IPv4的回送地址为:127.0.0.0到127.255.255.255都是回送地址(只是有两个特殊的保留),此地址中的任何地址都不会出现在网络中网络号

socket.io获取客户端的IP地址(修正官方1.0.4版本BUG)

之前我有看过别人写的文章,说到如何获取客户端IP地址,代码如下: var io = require("socket.io").listen(server); io.sockets.on("connection", function (socket) { var address = socket.handshake.address; console.log("New connection from " + address.address + &qu

烂泥:更换ESXI5.0管理网卡及管理IP地址

本文首发于烂泥行天下. 公司的服务器基本上都是在IDC机房里面的,为了更有效的利用服务器性能.所以有几台服务器,安装的是ESXI5.0做成虚拟化. 注意目前这些服务器都是双网卡的. 因为不是自己安装的ESXI,都是机房那边安装好,然后把ESXI管理IP以及密码告诉我.然后我远程连接管理虚拟机,所以机房那边,把这几台服务器的ESXI管理IP地址全部配置为公网IP. 这对于公司来说就是一种浪费,因为公网IP本来就是需要花钱购买的.所以就打算把这个IP地址更换为私网IP,节省的这个公网IP就可以做其他

localhost、127.0.0.1、本机IP、虚拟主机、kotlin

(问题起源于:tomcat发布的项目,用localhost和本机ip访问得到的结果不同.) 直接上链接: localhost.127.0.0.1.本机IP: https://www.zhihu.com/question/23940717#answer-5775920: 该链接中摘录一部分: localhost 是个域名,不是地址,它可以被配置为任意的 IP 地址,不过通常情况下都指向 127.0.0.1(ipv4)和 [::1](ipv6): 整个127.* 网段通常被用作 loopback 网

IIS搭建网站,内网用本机IP和127.0.0.1访问需要输入密码的问题。

xp配置好iis后,用localhost访问没有问题,用本机IP和127.0.0.1访问均提示输入用户名和密码. 我知道是权限问题,上网一百度,资料很多,解决方法也很多,但是好多我都做了 1.IIS配置权限 我就选择的是匿名访问与集成windows身份验证,选这两个, 2.网站文件所在的文件夹设置权限 3.设置了各种权限,该开启的也开启了,很多都设置了everyone这种. 我搜了很多资料,发现各位大神说的,我都试了,且已经设置好,但并没有起什么作用. 后来小白的我终于发现了,原来原因是因为我改

本机IP、127.0.0.1和0.0.0.0的区别

本机ip.127.0.0.1和0.0.0.0区别 网络java IP地址的记法: IP地址由四个字节构成,为了方便阅读和书写,每个字节用0-255的数字表示,字节之间用'.'分割,如: 10.10.152.235 有时候我们会看到这样的IP: 10.10.152.235/24, 后面的/24表示子网掩码,24表示子网掩码上有24个1,等价于255.255.255.0 . IP地址和子网掩码按位 与,得到的是 网络号(Network ID), 剩余的部分是子网内的 主机号(host ID,当然,这

Apache、nginx配置的网站127.0.0.1可以正常访问,内外网的ip地址无法访问,谁的锅?

最近做开发,发现一个比较尴尬的问题.因为我是一个web开发者,经常要用到Apache或者nginx等服务器软件,经过我测试发现,只要我打开了adsafe,我便不能通过ip地址访问我本地的网站了,比如我本机的ip是192.168.1.100,nginx配置的端口是7000,我在浏览器输入127.0.0.1:7000或者localhost:7000,能够正常访问,但是输入http://192.168.1.100:7000 就会提示: 无法连接 Firefox 无法建立到 192.168.1.100:

JBOSS部署项目之后,无法通过IP地址访问,只能通过localhost或者127.0.0.1访问

这几天入职到了一家新的公司,然后第一天就开始搭建各种环境,由于原先一直用的是Tomcat容器,然后也是第一次接触JBOSS容器,搭建完之后,在MyEclipse中启动了JBOSS容器,然后想在浏览器中访问看看,直接输入的IP地址+JBOSS的端口号,浏览器中报无法访问,我想是不是因为IP地址输入错了,之后改成localhost再试发现又是正常的可以访问,之后特意查看了下本机的IP地址,发现也没有写错,但就是浏览器中无法访问,这下就有点郁闷了,难道和Tomcat不一样?之后就是度娘,发现还真是不一

(mysql+php+apache)127.0.0.1和localhost可以连接mysql服务器,而ip却不能

127.0.0.1和localhost可以连接mysql服务器,但是对应的ip却不能,并且报错: Can‘t connect to MySQL server  on  "10.0.73.25"(111) 可能是以下原因: 1.网络不通:ping 10.0.73.25  发现能ping通 ,排除此原因. 2.mysql配置问题:打开mysql的配置文件mysql.cnf(linux下的路径一般为/etc/mysql/mysql.cnf),产看skip-networking和bind_ad