linux localhost识别,linux之localhost&127.0.0.1&及本机地址的差别

今天,遇到了一个问题,是关于套接字(socket)的。

大概是这样,一个应用程序启动,从它的log来看,它提示我可以通过访问http://127.0.0.1:9990/console/index.html来打开控制画面。

于是我尝试着从本地windows机去访问下面的URL

http://192.168.100.25:9990/console/index.html,但是怎么也访问不了。关了防火墙,也没有用。

因为我对这个一点都不敏感,所以最后还是同事帮我解决的说是端口被绑在了127.0.0.1上,所以只支持本地访问。外面是没有办法访问的,后来修改了配置文件,将绑定的IP从127.0.0.1改成了192.168.100.25.

这样改完后,可以正常访问。于是拓展学习了一下。。。。。。。。。

socket(套接字)

它是网络通信过程中端点的抽象表示,包含进行网络通信必需的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。

Socket可以看成在两个程序进行通讯连接中的一个端点,是连接应用程序和网络驱动程序的桥梁,Socket在应用程序中创建,通过绑定与网络驱动建立关系。此后,应用程序送给Socket的数据,由Socket交给网络驱动程序向网络上发送出去。计算机从网络上收到与该Socket绑定IP地址和端口号相关的数据后,由网络驱动程序交给Socket,应用程序便可从该Socket中提取接收到的数据,网络应用程序就是这样通过Socket进行数据的发送与接收的。

网络通讯地址(IP+PORT)

localhost

localhost 是个域名,不是地址,它可以被配置为任意的 IP 地址,不过通常情况下都指向 127.0.0.1(ipv4)和 [::1](ipv6),性质跟 “www.baidu.com” 差不多。不能直接绑定套接字,必须先gethostbyname转成IP才能绑定。

127.0.0.1

127.0.0.1 是绑定在 loopback 接口上的地址,如果服务端套接字绑定在它上面,你的客户端程序就只能在本机访问。

loopback 是一个特殊的网络接口(可理解成虚拟网卡),用于本机中各个应用之间的网络交互。

[root@localhost configuration]# ifconfig

eno16780032: flags=4163  mtu 1500

inet 192.168.100.25  netmask 255.255.255.0  broadcast 192.168.100.255

inet6 fe80::250:56ff:feb0:1174  prefixlen 64  scopeid 0x20

ether 00:50:56:b0:11:74  txqueuelen 1000  (Ethernet)

RX packets 158463  bytes 180993677 (172.6 MiB)

RX errors 0  dropped 345  overruns 0  frame 0

TX packets 87686  bytes 15009155 (14.3 MiB)

TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536

inet 127.0.0.1  netmask 255.0.0.0

inet6 ::1  prefixlen 128  scopeid 0x10

loop  txqueuelen 0  (Local Loopback)

RX packets 11620  bytes 2163371 (2.0 MiB)

RX errors 0  dropped 0  overruns 0  frame 0

TX packets 11620  bytes 2163371 (2.0 MiB)

TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

本机地址

如果主机中存在多个网卡,分别连接不同的物理网络,比如 192.168.0.1/255.255.255.0 和 192.168.1.1/255.255.255.0,那么当你的服务端套接字绑到 192.168.0.1 这个地址上时,位于 192.168.1.* 网段的其他计算机是无法连接的,只有位于192.168.0.* 网段的计算机才能访问你的服务端程序。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值