c# - 发送数据到 127.* : Unreachable Host

标签 c# networking windows-xp loopback

我正在尝试发送到在 Windows XP 上运行的 .NET 3.5 应用程序中的环回地址空间。代码做了一个简单的:

receiver = new IPEndPoint(IPAddress.Parse("127.0.0.2"), 8000);
sock.SendTo(data, len, SocketFlags.None, receiver);

当我运行代码时,出现无法访问的主机套接字异常。这对我来说似乎很奇怪,因为环回接口(interface)始终存在,并且它不应该生成任何无法访问的主机异常。

Windows 7 可以很好地执行代码,使问题变得更加奇怪。

所以 - 如果有人有任何关于在 XP 中运行它的提示,我将不胜感激。

编辑:

一些信息:

  • 有东西在 127.0.0.2 上监听,我的 netstat 显示:
  • UDP 127.0.0.2:8000 : 5824

  • 我运行的是XP SP3,我的测试机上没有防火墙

我注意到在 XP 上当我 ping 127.0.0.2 时,回复回来了:

Reply from 127.0.0.1

在 Windows 7 上,回复来 self ping 的地址:

Reply from 127.0.0.2

我认为这可能是问题所在,因此它并不是真正的编程问题,更多的是 XP 本身的问题...

-- 丹

最佳答案

它是否适用于 127.0.0.1The RFC说:

127.0.0.0/8 - This block is assigned for use as the Internet host loopback address. A datagram sent by a higher level protocol to an address anywhere within this block should loop back inside the host. This is ordinarily implemented using only 127.0.0.1/32 for loopback, but no addresses within this block should ever appear on any network anywhere [RFC1700, page 5].

这似乎表明你不应该依赖 127.0.0.2 工作,除非你专门设置了一些东西。

关于c# - 发送数据到 127.* : Unreachable Host,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5625083/

相关文章:

c# - 如何在一定时间内延长对角线渲染器线

C# 在不加载整个内容的情况下获取响应的内容类型

linux - 当计算机切换到 sleep 模式时,TCP 连接会发生什么变化?

macos - Virtualbox 中的 Internet 连接无法正常工作(Mac OS X 主机/Windows XP guest )

c# - 使用 WPF 和 XAML 以及数据绑定(bind)查看设计 View 中的 UI 更改?

c# - 使用 Moq 框架模拟方法不会返回预期结果

C - 仅在 MTU 达到最大值时才发送 TCP 数据包

git - 如何制作 git 存储库 'pull only'

windows - 从远程桌面 session 注销不会关闭 session ,在 Windows XP 32 位 - SP2 上再次显示登录屏幕

performance - 如何卡住程序的执行?