ip地址0.0.0.0与127.0.0.1的区别(转载)
原文链接:http://blog.csdn.net/ttx_laughing/article/details/58586907
最近在项目开发中发现一个奇怪的问题,当服务器与客户端在同一台机器上时,用服务器ip(本地主机ip)192.168.1.xxx、127.0.0.1以及0.0.0.0都能登陆服务器,于是找点资料研究一下。
其实,最开始是发现服务器ip填0能登陆成功,后来知道了系统自动补全ip地址,什么意思呢,就是如果你填0或0.0或0.0.0,系统都会自动补全ip为0.0.0.0。下面就简要介绍一下这三种ip的区别。
相信读者都知道,ipv4是点分十进制模式,每个ip地址都有特殊的含义。首先说一下ip地址:127.0.0.1,这是大家最熟悉不过的本地loopback(回环)地址,代表本地主机,在windows和Linux上等价于localhost,可在C:\Windows\System32\drivers\etc\hosts文件中修改主机名或定义ipv6地址(# ::1 localhost)。
正常的网络包从ip层进入链路层,然后发送到网络上,
而发向loopback地址的包,直接在IP层短路了,也就是发到IP层的包直接被IP层接收了,不再向下发送。
192.168.1.x,是公网ip地址,这些是在网络中代表本机的ip地址,可通过此ip地址远程访问或控制主机。
0.0.0.0,最特殊的一个ip地址,代表的是本机所有ip地址,不管你有多少个网口,多少个ip,如果监听本机的0.0.0.0上的端口,就等于监听机器上的所有ip端口。换句话说,就是只要数据报目的地址是你机器上的一个ip地址,那么就能被接受。这个ip相当于Java中的this,代表当前设备的IP。
下面再来说说这三种地址的区别。在Java开发中,服务器端如果没有显示绑定ip地址,如:
ServerSocket serverSock = new ServerSocket(8888);
serverSock.accept();
系统默认的ip地址是0.0.0.0,此时用以上3种ip都能连接成功。
如果显示绑定ip,如:
ServerSocket serverSocket = new ServerSocket();
serverSocket.bind(new InetSocketAddress("127.0.0.1",8888));
serverSock.accept();
此时ip192.168.1.x将连接不上,而ip127.0.0.1和0.0.0.0仍然可以连接。同理,也可以显示指定ip192.168.1.x
在java服务器开发中,一般不需指定ip,因为这种情况只会出现在服务器和客户端在一台主机上。当然,如果想屏蔽某个ip,可在服务器中显示指定,也可在客户端登录时直接屏蔽。
ip地址0.0.0.0与127.0.0.1的区别(转载)的更多相关文章
- jBoss无法通过IP地址访问,只能用localhost\127.0.0.1访问
http://feng88724.iteye.com/blog/263211 JBOSS版本:4.2.2GA 症状:服务器无法通过IP地址去访问,只能用127.0.0.1或者localhost来访问. ...
- ip地址、域名、DNS、URL(即网址)的区别与联系
域名和ip ================================================================ 我们也知道每一台机都有一个唯一ip地址, 特别难记,所以出 ...
- 刚在虚拟机上装的Linux系统,ifconfig后IP地址怎么成了127.0.0.1了
之前在虚拟机上装了Linux系统,用了一段时间后想删除了重新装一下,然而装完以后ifconfig后,出现的是 [root@localhost ~]# ifconfig lo Link encap:Lo ...
- JBOSS部署项目之后,无法通过IP地址訪问,仅仅能通过localhost或者127.0.0.1訪问
这几天入职到了一家新的公司,然后第一天就開始搭建各种环境.由于原先一直用的是Tomcat容器,然后也是第一次接触JBOSS容器,搭建完之后,在MyEclipse中启动了JBOSS容器,然后想在浏览器中 ...
- 计算机网络学习笔记--网络层之IP地址与子网
IPv4地址: 我们知道在网络层(TCP/IP体系结构的网际互联层),最重要的一个协议就是IP协议,现在正处于IPv4和IPv6的过渡时期,但目前来说,IPv4仍为主流,所以主要讲Ipv4. IP地址 ...
- IP地址的分类与寻址
IP地址:有一种标识符,被TCP/IP协议簇的IP层用来标识 连接到因特网的设备.IP协议的第4版IPv4地址是32位地址,是连接地址,定义了每一个连接到因特网上的设备(可以认为是主机的别名),而不是 ...
- WPF数字输入框和IP地址输入框
数字输入框 简介 在业务中,我们经常需要限制用户的输入,比如限制输入长度,限制只能输入数字等等.限制输入长度WPF内置的TextBox已经帮我们解决了,但是限制输入数字却并未在WPF中内置解决方案.使 ...
- IP地址,子网掩码,默认网关
IP地址: 是给每个连接在Internet上的主机分配的一个32bit地址. 地址有两部分组成,一部分为网络地址,另一部分为主机地址. IP地址分为A.B.C.D.E 5类.常用的是B和C两类. 网络 ...
- 如何计算IP地址及CIDR(收藏)
如何计算IP地址及CIDR 一. IP地址概念 IP地址是一个32位的二进制数,它由网络ID和主机ID两部份组成,用来在网络中唯一的标识的一台计算机.网络ID用来标识计算机所处的网段:主 机ID用来标 ...
- TCP/IP协议原理与应用笔记03:IP地址分类
1. 事实上,每个IP地址都包含两部分,即网络号和主机号. 例如:202.112.81.34指的 就是202.112.81这个网络的第34号机. 网络号:用于识别主机所在的网络: 主机号:用于识别该网 ...
随机推荐
- SSO单点登录的研究
一.单点登录的概述 单点登录(Single Sign On),简称为 SSO,SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 用以解决同一公司不同子产 ...
- [转]亿级Web系统搭建:单机到分布式集群
当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架构层 ...
- tomcat流程原理解析
tomcat的启动是通过Bootstrap类的main方法(tomcat6开始也可以直接通过Catlina的main启动) Bootstrap的启动 Bootstrap的main方法先new了一个自己 ...
- dubbo在企业中用得多吗?
看了阿里的dubbo,据说是一个不错的服务框架, 不过,好像Minglisoft.technology搞研发希望各位可以指点学习 想知道其他的公司用这个框架多吗?遇到的问题能否快速解决呢?抉择中...
- 云计算之路-阿里云上:攻击又来了,4个IP分别遭遇超过30G的流量攻击
继5月13日下午被攻击之后,今天下午,攻击又肆无忌惮地来了,14:35.14:39.14:40.14:41 ,依次有4个IP遭遇超过30G的流量攻击,被阿里云“云盾”关进“黑洞”,造成被攻击IP上的站 ...
- Jenkins 发布后自动创建git tag
为了便于项目中对发布的版本进行回滚,所以我们每次发布完成以后自动创建git tag. 1,创建一个Jenkins任务,命名成为push_tag_demo: 2,配置<源码管理>,这里配置比 ...
- Adobe Fireworks CS6 Mac破解版
Mac下一款快速建站的软件--Adobe Fireworks CS6,小子这里有时间就分享出来给更多需要的朋友. Adobe Fireworks CS6能让您在弹指间创作精美的网站和移动应用程序设计, ...
- 每天一道Java题[10]
题目 阐述创建线程最常用的两种方法及其对比. 解答 方法一:继承Thread类实现 步骤: 创建Thread类的子类,如MyThread. 重写Thread类的run()方法. 实例化MyThread ...
- Grid search in the tidyverse
@drsimonj here to share a tidyverse method of grid search for optimizing a model's hyperparameters. ...
- vue-动手做个选择城市
查看完整的代码请到 我的github地址 https://github.com/qianyinghuanmie/vue2.0-demos 一.结果展示 二.前期准备: 1.引入汉字转拼音的插件, ...