环回接口( loopback )-127.0.0.1 VS 192.168.0.5 VS 0.0.0.0, 服务器套接字(server socket)如何选择绑定哪个IP?
来源:互联网 发布:网络教育试点高校 编辑:程序博客网 时间:2024/06/06 02:51
loopback 是什么东东?
本地环回接口(或地址),亦称回送地址(loopback address)。此类接口是应用最为广泛的一种虚接口,几乎在每台路由器上都会使用。
参考
《working with TCP sockets》
loopback 介绍
IP地址并不总是必须指向远程主机。特别是在开发中你经常想要连接到你本地主机上的套接字(sockets)。
大多数系统定义了一个环回接口(loopback interface)。这是个完全虚拟的接口,并且它和你网口的接口不同,它是没有连接到任何硬件的。
发送到环回接口的任何数据会立即在同一个接口被接收。在使用回环地址时你的网络被限制在本地主机。
回环接口的主机名(host name)被官方称为localhost,其回环IP地址是经典的 127.0.0.1。对于你的系统而言,这些在”hosts”文件中被定义。
服务器套接字如何选择绑定哪个IP地址?–127.0.0.1 VS 192.168.1.1 VS 0.0.0.0
绑定到 0.0.0.0 和 绑定到 127.0.0.1 或者 1.2.3.4 到底有何区别呢?
系统的环回接口以IP地址 127.0.0.1 表现。系统也有一个物理的、基于硬件的接口,它表现为不同的IP地址,让我们假设这个IP为 192.168.0.5。
当你绑定(bind)到一个特定的接口时,以其IP地址表现,你的套接字(socket)只会监听(listening)那个接口。它会忽略其他接口。
如果你绑定到 127.0.0.1,那么你的套接字将只会监听回环接口。在这种情况下,只有到 localhost 或者 127.0.0.1 的连接才会被路由到你的服务器套接字(server socket)。
由于这个接口只在本地可用,所以不允许任何外部连接。
如果你绑定到 192.168.0.5,在这个例子中,那么你的套接字将会只监听那个接口。
任何能够寻址到那个接口的客户端(clients)都将会被监听到,但是任何到 localhost 的连接都将不会被路由到那个服务器套接字。
如果你想要监听所有接口那么你可以使用 0.0.0.0.这将会绑定到任何可用的接口,环回接口或者其他。
大多数情况下,这正是你所期望的。
- 环回接口( loopback )-127.0.0.1 VS 192.168.0.5 VS 0.0.0.0, 服务器套接字(server socket)如何选择绑定哪个IP?
- socket vs RMI, 选择?
- 站长VS微商 你选择哪个?
- rbenv vs rvm, 选择用哪个?
- 网络服务器-Loopback (Internet Sockets) VS UNIX Domain Sockets
- socket INADDR_ANY 监听0.0.0.0地址 socket只绑定端口让路由表决定传到哪个ip
- socket INADDR_ANY 监听0.0.0.0地址 socket只绑定端口让路由表决定传到哪个ip
- socket INADDR_ANY 监听0.0.0.0地址 socket只绑定端口让路由表决定传到哪个ip
- socket INADDR_ANY 监听0.0.0.0地址 socket只绑定端口让路由表决定传到哪个ip
- C# Builder VS. VS.NET:如何选择?
- 进程vs线程,如何选择?
- SQL vs NoSQL:如何选择?
- Node.Js + Socket.IO vs SignalR vs C# WebSocket Server
- 本地没有IP的时候android怎么用和loopback(环回接口)
- 环回接口(Loopback Interface)【转】
- 路由器环回接口(loopback)详解
- 如何选择前端框架:ANGULAR VS EMBER VS REACT
- 如何选择前端框架:ANGULAR VS EMBER VS REACT
- 四种强制类型转换的总结(const_cast、static_cast、dynamic_cast、reinterpreter_cast)
- 分析一个写图片的c++程序
- 机器学习---分类和测度
- Reversing Linked List--链表翻转
- pyqt的登录窗口
- 环回接口( loopback )-127.0.0.1 VS 192.168.0.5 VS 0.0.0.0, 服务器套接字(server socket)如何选择绑定哪个IP?
- 飞机最短里程
- iOS 开发中的注意事项
- 南阳1132
- Android一句话 | ViewGroup事件分发
- CSS选择器优先级计算
- java编解码技术
- 什么叫内存屏障、编译屏障、内存对齐
- 改变myeclipse背景颜色