将套接字绑定到 localhost 以外的任何地址意味着什么?

2024-02-16

我不明白它是什么means to bind到除 127.0.0.1(或 ::1 等)之外的任何地址的套接字。
我不是——根据定义-- 将套接字绑定到端口my own机器..哪个是本地主机?
绑定或倾听有什么意义another机器或IP地址端口?
从概念上讲,这对我来说没有意义!

(事实证明,这对谷歌来说出人意料地困难......可能是因为我没有谷歌搜索正确的术语。)


将套接字绑定到地址和端口,以便在此套接字上接收数据(大多数情况)或在发送数据时使用此地址/端口作为数据源(例如与 FTP 服务器中的数据连接一起使用)。

通常,特定机器上有多个接口,即机器可以到达自身的伪接口环回、以太网、WLAN、VPN...。每个接口都可以分配多个 IP 地址。例如,环回通常有 127.0.0.1,IPv6 也有 ::1,但您也可以分配其他地址。以太网或 WLAN 具有本地网络上的 IP 地址,即 172.16.0.34 或其他。

如果将用于接收数据的套接字绑定到特定地址,则只能接收发送到该特定 IP 地址的数据。例如,如果您绑定到 127.0.0.1,您将能够从您自己的系统接收数据,但不能从本地网络上的其他系统接收数据,因为它们无法将数据发送到your127.0.0.1:对于 127.0.0.1 的任何数据都将发送到他们自己的127.0.0.1,其次,127.0.0.1 是内部环回接口上的地址,从外部无法访问该地址。

您还可以将套接字绑定到包罗万象的地址,例如 0.0.0.0 (Ipv4) 和 :: (Ipv6)。在这种情况下,它不会绑定到特定的 IP 地址,但能够接收发送到机器的任何 IP 地址的数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将套接字绑定到 localhost 以外的任何地址意味着什么? 的相关文章

  • 防止 WNetAddConnection2 类允许被禁止的用户访问共享文件夹

    我开发了 C windows 应用程序 操作系统是Windows 7 要求 是使用带有凭据的代码访问网络共享文件夹 Test WNetAddConnection2 class 限制 是某些用户可以访问此共享文件夹 测试 但对于其他用户 设置
  • 我在socket上设置了超时,发现这个值不能大于21

    我在socket上设置了超时 该值小于21秒才有效 21秒后发现超时还是21秒 public static void main String args SimpleDateFormat sdf new SimpleDateFormat yy
  • 为什么 h_addr_list (在 hostent 结构中)类型为 char** 而不是 void*?

    我试图找出一段构建 hostent 对象的代码 更具体地说 它的工作部分是填充 h addr list 数组 我对分配到数组中的值被强制转换为这一事实感到困惑char 据我所知 这个数组与字符串无关 我注意到h addr list数组实际上
  • 安装 Python 3.5 包“socket”pycharm 时出错

    仅使用 PyCharm 或命令提示符无法安装此软件包 Collecting socket Using cached socket 0 5 tar gz Complete output from command python setup py
  • 如何在 Perl 中使用原始套接字?

    你怎样才能得到一个rawPerl 中的套接字 那么构建与其一起使用的数据包的最佳方法是什么 与在 C 中执行的操作相同 通过在创建套接字时设置套接字类型 在示例中CPAN http search cpan org rgarcia perl
  • 如何替换`qemu-system -redir`命令参数?

    我有一个使用以下选项启动 qemu 的脚本 qemu system x86 64 net nic model rtl8139 net user hostfwd tcp 5555 1522 net dump file tmp vm0 pcap
  • Java:无安全管理器:RMI 类加载器已禁用

    您好 我有 RMI 应用程序 现在我尝试从客户端调用服务器上的一些方法 我有以下代码 public static void main final String args try Setting the security manager Sy
  • 确定我可以向文件句柄写入多少内容;将数据从一个 FH 复制到另一个 FH

    如何确定是否可以将给定数量的字节写入文件句柄 实际上是套接字 或者 如何 取消读取 我从其他文件句柄读取的数据 我想要类似的东西 n how much can I write w handle n read r handle buf n a
  • Mac + Ruby:无法访问 Socket 的 ioctl?怎么修?

    一天中的好时光 红宝石代码 def hw address iface sock Socket new Socket AF INET Socket SOCK DGRAM 0 buf iface pack a16h16 sock ioctl S
  • Android蓝牙java.io.IOException:bt套接字已关闭,读取返回:-1

    我正在尝试编写一个代码 仅连接到运行 Android 5 0 KitKat 的设备上的 目前 唯一配对的设备 无论我尝试了多少方法 我仍然会收到此错误 这是我尝试过的最后一个代码 它似乎完成了我看到人们报告为成功的所有事情 有人能指出我做错
  • Android模拟器中的网络访问

    我试图通过我的 Android 应用程序访问互联网 但我既成功又失败 我在构建应用程序时启动模拟器 并且应用程序安装得很好 我可以使用浏览器访问互联网 但是 当我尝试这个小代码片段时 InetAddress inet try inet In
  • 跨平台套接字

    我知道 Windows 不使用 UNIX 套接字 而 Mac OS 使用 到目前为止 我的软件是跨平台的 没有任何代码更改 但现在我想让它进行一些网络通信 我了解 POSIX 套接字 但我对 Windows 的套接字一无所知 目标是实现一个
  • C# 中的 Unix 套接字

    我正在尝试使用 Mono 的 UnixEndPoint 但在使用它之前就失败了 我在 64 位 Windows 7 系统上运行 Xamarind net 4 5 下面是一些代码 证明单一组合不起作用 foreach SocketType s
  • 为什么SOCKS5需要通过UDP中继UDP?

    The SOCKS5 https en wikipedia org wiki SOCKS SOCKS5协议 描述为RFC1928 https www rfc editor org rfc rfc1928提供对 UDP 的支持 总而言之 希望
  • Java,如何管理线程读取socket(websocket)?

    我有一个 WebSocket 服务器 我的服务器创建一个新线程来处理新连接 该线程一直处于活动状态 直到 websocket 中断 我的问题 对于 1 000 000 个连接 我需要 1 000 000 个线程 我如何通过一个线程处理多个
  • Android 套接字和 HTTP 响应标头

    有趣的是 我可能无意中找到了解决方案是否可以使用普通套接字连接发送 HTTP 请求并接收没有标头的响应 https stackoverflow com questions 8320574 我希望我忽略了一些东西 无论如何 我正在连接到 We
  • 消息队列与套接字

    我没有太多的套接字编程经验 但我尝试阅读一些相关内容 我对 MDB 和消息队列非常熟悉 有人告诉我队列 例如 MDB 只不过是直接套接字连接 有人可以帮我比较一下这两个吗 两者是无与伦比的 因为它们代表不同的layers 这就像将关系数据库
  • 在Python中通过套接字发送文件

    我正在尝试用 python 编写一个实现套接字的程序 每个客户端发送一个 PDF 文件 服务器接收该文件并将标题更改为 file number pdf 例如 file 1 pdf 出现的问题是只有客户端才能成功发送文件 当第二个客户端尝试发
  • 如何从互联网访问本地网络内的服务器

    假设我有一个服务器应用程序在未直接连接到互联网但通过路由器连接的计算机上工作 所以问题是如何从不在内部网络 从互联网 内的另一台计算机连接到该服务器 据我所知 管理员可以配置路由器将指定端口请求重定向到该计算机 但我可以自动执行此操作吗 我
  • UDP接收和发送Matlab

    我目前正在努力从外部设备接收数据包 然后将数据发送到另一个设备 我有一个工作 Simulink 模型 但我不知道如何在 Matlab 中对其进行编码 Matlab 中 UDP 接收块的参数如下图所示UDP 接收参数 https i stac

随机推荐

  • 安装 Ruby 后,MAC OS X 上的活动开发人员路径无效

    我收到此错误 xcrun 错误 无效的活动开发人员路径 Applications Xcode app 缺少 xcrun 位于 Applications Xcode app usr bin xcrun This solution https
  • 使用 $http 单元测试 Angular 指令

    我有一个 Angular 指令 当附加到
  • :概要:在 Sphinx 自动模块中不起作用

    我正在使用 Sphinx 非常喜欢它 但它不会获取模块概要 没有错误或任何东西 只是简单 什么都没有 这是我试图自动记录的模块 vim set fileencoding utf 8 module CONF synopsis Configur
  • 使用 google chrome 扩展的 javascript 将文本插入文本区域

    我正在尝试扩展现有谷歌浏览器扩展的功能 使用 Wrike google chrome 扩展 我的目标是添加一个按钮 或多个按钮 该按钮将向描述字段 文本区域 添加一些文本 期望的效果是 如果用户单击 添加模板 按钮 代码 文本将被插入到 i
  • Spring + Hibernate + Sql Server 连接失败

    当我结合使用 Spring Hibernate 和 SQL Server 时 出现以下错误 19 17 09 137 ERROR org hibernate tool hbm2ddl SchemaValidator MSC service
  • 如何在 TDB TripleStore 中加载模型

    我有一个问题问你 我想在我的 Jena TDB TripleStore 上加载一个文件 我的文件很大 大约80Mb 大约700000个三倍RDF 当我尝试加载它时 执行停止工作或需要很长时间 我正在使用在 Web 服务上运行的代码 Stri
  • 如何在文本的某一行末尾添加内容

    我想在某一行的末尾添加一些内容 有一些给定的字符 例如 文本是 Line1 I just want to make clear of the problem Line2 Thanks to all who look into my prob
  • 当鼠标悬停在元素上加载页面时,jQuery 触发鼠标悬停功能

    我有一个 ASP NET 文档 其中包含一个 Image 元素 我创建了一个mouseover在此图像元素上运行并且运行良好 问题是 如果文档加载自身时鼠标已位于该元素上 则mouseover函数不触发 我需要mouseout进而mouse
  • 数组的最长公共前缀和后缀

    获取两个数组的最长公共前缀 从原始索引 0 开始的子数组 和后缀 以原始索引 1 结尾的子数组 的最佳方法是什么 例如 给定两个数组 foo 1 foo 0 nil bar baz false foo 1 foo 0 true bar fa
  • Java .equals() 子类实例?为什么不调用超类 equals 而不是将其设为 Final 呢?

    它在 Object 中声明 equals Object javadoc 它是对称的 对于任何非空参考值 x 和 y 当且仅当 y equals x 返回时 x equals y 才应返回 true 真的 在示例代码中几乎所有地方我都看到被覆
  • 将位值写入数据库

    我正在尝试将一个位值 真或假 写入数据库中名为 已处理 的字段中 我目前正在尝试通过传入 bool 值来实现此目的 但收到一条错误消息 指出无法从 varchar 类型转换为 bit 有人能看出我的逻辑是怎么回事吗 protected vo
  • 不支持推送导航控制器错误消息

    我正在开发一个应用程序 用户可以添加产品 然后这些产品将显示在 TableView 中 我创建了一个包含静态单元格和两个部分的 TableViewController 我想将第二部分中的单元格与另一个 TableViewController
  • 为什么在安装 python 的 psutil 包时出现错误?

    我在 Windows 64 位机器上安装了 python 版本 3 10 之后我喜欢安装 psutil python m pip install psutil 但我收到以下错误消息 Collecting psutil Using cache
  • 按顺序向上滑动元素

    Need to slideUp元素按顺序排列 一个接一个 而不是异步的 block2应该开始滑动时block1关闭了 block3应该开始滑动时block2关闭了 等等 实际上 我有很多这样的元素 因此任何嵌套语法 函数内的函数 都不适合
  • 使用 MultiDexApplication 导致 applicationContext 变为 null

    我已按照此链接中的说明将我的应用程序切换到 MultiDexApplication https developer android com studio build multidex html https developer android
  • 使用语句中是否需要 SqlConnection.Close() ?

    我正在使用这段代码 public void InsertMember Member member string INSERT INSERT INTO Members Name Surname EntryDate VALUES Name Su
  • EMV 读取 PAN 代码

    我需要通过芯片读取每张可能的卡的 PAN 代码 在我的工作中 我只能使用 C 而且我没有可以帮助我完成这项无聊任务的例程 这就是我使用 APDU 的步骤 1 选择1PAY SYS DDF01 00 A4 0400 0E 315041592E
  • Python 数组中非常小的数字导致精度损失

    我有两个 float64 类型的数组 当我将第一个数组的值分配给第二个数组时 它会四舍五入该值 下面的简单代码说明了该问题 并排除了仅使用数字表示的可能性 我已经对代码片段进行了架构化以使其更具可读性 但本质上是同一件事 X zeros 2
  • 如何从我的 Node/express 服务器提供 Vuejs 前端文件?

    基本上 我有两条路线 其中一条用于主页 另一条用于管理页面 但我找不到关于如何组合的良好文档Vuejs and Express 所以我可以同时提供两个页面 假设两个页面都有不同的 UI 因此组件的构造不一样 To use vue route
  • 将套接字绑定到 localhost 以外的任何地址意味着什么?

    我不明白它是什么means to bind到除 127 0 0 1 或 1 等 之外的任何地址的套接字 我不是 根据定义 将套接字绑定到端口my own机器 哪个是本地主机 绑定或倾听有什么意义another机器或IP地址端口 从概念上讲