今天,遇到了一个问题,是关于套接字(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<UP,BROADCAST,RUNNING,MULTICAST> 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<link>
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<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
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.* 网段的计算机才能访问你的服务端程序。
相关推荐
在MySQL数据库系统中,连接方式通常分为通过主机名(如localhost)和IP地址(如127.0.0.1)两种。当你遇到“mysql不能用localhost,127.0.0.1连接,只能用ip连接”的问题时,这可能是由于MySQL配置文件中的设置或用户...
在MySQL数据库中,`127.0.0.1` 和 `localhost` 都用于指代本地主机,但它们在连接方式上存在显著的区别。理解这些差异对于排查数据库连接问题至关重要。 首先,当我们使用 `mysql -h 127.0.0.1` 命令连接MySQL,它...
在这个问题中,我们发现`localhost`与`127.0.0.1`在连接MySQL时表现不同,这是因为它们采用的连接方式不同。`localhost`是通过Unix域套接字(socket)进行通信,而`127.0.0.1`是通过TCP/IP协议进行连接。 在Mac OS ...
这是因为 127.0.0.1 是回环地址,也就是localhost的IP地址,当服务监听这个地址时,只能通过本地回环地址访问服务,而无法通过其他地址访问。 监听 192.168.1.200 当服务监听 192.168.1.200 时,只能服务器通过 ...
3. **检查/etc/hosts文件**:确保`/etc/hosts`文件中包含了正确的条目,即本机IP地址与其主机名的映射。默认情况下,大多数Linux系统都会在`/etc/hosts`文件中包含`127.0.0.1 localhost`这样的条目,但是有时候可能...
127.0.0.1 主机名 localhost localhost.localdomain 如果忘记了主机名,可以使用 hostname 命令查看。 三、创建用户和组 在安装 Oracle 之前,需要创建 Oracle 安装组 oinstall 和数据库管理员组 dba。可以使用...
这里添加了`grep -v '127.0.0.1'`来排除本地环回地址(localhost)的连接。 3. **统计IP连接数:** 如果你想要统计连接数,可以结合`wc`(单词计数)命令来计算行数,代表不同的IP连接: ``` netstat -an | ...
然而,这种方法在Windows系统下通常能正常工作,但在Linux系统中可能返回`127.0.0.1`,这是由于Linux默认将`/etc/hosts`文件中的localhost映射到了`127.0.0.1`,而不是实际的网络接口(即网卡)的IP地址。...
在开发环境中,尤其是对于Windows操作系统上的IIS服务器,有时会出现使用`127.0.0.1`地址访问本地网站时出现权限问题的情况。这种情况下,用户会遇到错误提示“没有权限:GetObject”,错误代码为`0x800A0046`。 ###...
在这个例子中,可能使用localhost(127.0.0.1)和一个随机端口。 5. **套接字监听**:父进程调用`listen()`函数,设置最大连接队列长度,等待子进程连接。 6. **套接字连接**:子进程使用`connect()`函数尝试连接...
转到“目录安全性”窗口,单击“IP地址及域名限制”下的“编辑”按钮,点选中“授权访问”以能接受客户端从本机之外的地方对IIS进行管理;最后单击“确定”按钮。 3.则在任意计算机的浏览器中输入如...
127.0.0.1 localhost localhost.localdomain 192.168.100.133 zsr133 192.168.100.136 zsr136 ``` ### 用户和组创建 为了满足Oracle的安全需求,需要创建特定的用户和组。文档中提到了以下组和用户: - `groupadd -...
同时,我们需要更改 hostname 为 localhost 或 127.0.0.1,以便基于 IPv4 的原理。 第一步:安装前的准备 在安装 MS 之前,我们需要创建一个名为 msi 的用户,并上传 MS 安装文件到/home/msi/tmp 下。我们可以使用...
DNS(Domain Name System)是互联网中不可或缺的服务之一,它负责将人类可读的域名转换成计算机可识别的IP地址。在Linux系统中,配置DNS服务器通常涉及到BIND(Berkeley Internet Name Domain)的设置。本文将深入...
Linux 主机实现对网卡流量的监控: 本文所用到的监控流量插件来自“石头“的1.20版shell插件。感谢之。。。。 下载地址为:http://www.itnms.net/discuz/viewthread.php?tid=767&extra=pageD1&page=1 主要步骤: 1、...
要关闭这个功能,你需要编辑/etc/mail/access文件,移除允许任意主机Relay的设置,只保留允许本地主机(localhost和127.0.0.1)进行Relay的条目。完成编辑后,运行`makemap hash access.db`命令使改动生效。 其次,...
同时,需要设置localhost区域,确保localhost名称解析到回环地址127.0.0.1。这通常通过创建一个名为`localhost.zone`的区域文件完成,其中包含SOA(起始授权记录)、NS(DNS服务器记录)和A(主机记录)等。 对于主...