zoukankan      html  css  js  c++  java
  • 0.0.0.0 IPAddress.Any 【】127.0.0.1 IPAddress.Loopback 【】localhost

    0.0.0.0  IPAddress.Any

    https://msdn.microsoft.com/en-us/library/system.net.ipaddress.any(v=vs.110).aspx

    Provides an IP address that indicates that the server must listen for client activity on all network interfaces. This field is read-only.

    The Socket.Bind method uses the Any field to indicate that a Socket instance must listen for client activity on all network interfaces.

    The Any field is equivalent to 0.0.0.0 in dotted-quad notation.

    127.0.0.1  IPAddress.Loopback

    https://msdn.microsoft.com/en-us/library/system.net.ipaddress.loopback(v=vs.110).aspx

    Provides the IP loopback address. This field is read-only.

    The Loopback field is equivalent to 127.0.0.1 in dotted-quad notation.

    What is the difference between 0.0.0.0, 127.0.0.1 and localhost?

    127.0.0.1 is normally the IP address assigned to the "loopback" or local-only interface.

    This is a "fake" network adapter that can only communicate within the same host.

    It's often used when you want a network-capable application to only serve clients on the same host.

    A process that is listening on 127.0.0.1 for connections will only receive local connections on that socket.

    "localhost" is normally the hostname for the 127.0.0.1 IP address.

    It's usually set in /etc/hosts (or the Windows equivalent named "hosts" somewhere under %WINDIR%).

    You can use it just like any other hostname - try "ping localhost" to see how it resolves to 127.0.0.1.

    0.0.0.0 has a couple of different meanings, but in this context, when a server is told to listen on 0.0.0.0 that means "listen on every available network interface".

    The loopback adapter with IP address 127.0.0.1 from the perspective观点 of the server process looks just like any other network adapter on the machine,

    so a server told to listen on 0.0.0.0 will accept connections on that interface too.

    That hopefully answers the IP side of your question.

    I'm not familiar with Jekyll or Vagrant, but I'm guessing that your port forwarding 8080 => 4000 is somehow bound to a particular network adapter, so it isn't in the path when you connect locally to 127.0.0.1

    What's the difference between ip address 0.0.0.0 and 127.0.0.1?

    blank3's comment on that is mostly right too.

    The only thing is that you're not saying "all addresses should have access" -- that's done in your firewall(s) and/or the server software and/or other security layers like tcpwrappers.

    0.0.0.0, in this context, means "all IP addresses on the local machine" (in fact probably, "all IPv4 addresses on the local machine").

    So, if your webserver machine has two ip addresses, 192.168.1.1 and 10.1.2.1, and you allow a webserver daemon like apache to listen on 0.0.0.0, it will be reachable at both of those IPs.

    But only to what can contact those IPs and the web port(s).

    Note that, in a different context (routing) 0.0.0.0 usually means the default route (the route to "the rest of" the internet, aside from routes in your local network etc.).

    补充:

    如果本机的ip是192.168.1.18,在127.0.0.1:2020上进行监听;

    尝试连接192.168.1.18:2020是无法连接的;

  • 相关阅读:
    信息的表示和处理
    Linux基础与Linux下C语言编程基础
    Linux基础入门
    第4次实验
    第三次实验
    第二次实验
    java第一次实验
    数据库提示日志文件不可用
    SQL Server 2012 列存储索引分析(翻译)
    修改delphi xe6 FMX Label字体颜色
  • 原文地址:https://www.cnblogs.com/chucklu/p/5454173.html
Copyright © 2011-2022 走看看