【问题标题】:How to Find Available IP Addresses in LAN using C#如何使用 C# 在 LAN 中查找可用的 IP 地址
【发布时间】:2012-12-21 07:17:31
【问题描述】:

我正在尝试为 LAN 开发消息聊天应用程序(Windows 商店应用程序) 使用 XAML 和 C#。所以,首先我怎么知道局域网中可用的人 基于他们的 IP 地址?

任何示例代码或想法来实现这一点?

【问题讨论】:

  • 您正在寻找Multicast DNS,i.o.w。 BonjourBonjour SDK 中有 Bonjour 的 C# 绑定。
  • 搜索了相关文章和示例..我是这项技术的新手..
  • 因为它是一个 Windows 应用商店应用程序,所以排除了使用像 Bonjour 这样的软件,对吧? This article 使用 Win32 API,因此也不可用。

标签: c# xaml ip-address lan


【解决方案1】:

您不能使用 WinRT 依赖多播 :(

但是你有 2 个解决方案:

  1. 使用 IP 广播:将您的 bonjour 消息发送到 255.255.255.255
  2. 添加服务器节点

请注意,解决方案 1 仅适用于 LAN,可能会受到路由器和网关配置的限制。

【讨论】:

  • 谢谢Kronos。有没有什么文章或文件对我更有帮助。
  • @Lokesh,如果您可以安装服务器(选项 2),为什么不安装 jabber 服务器并使用许多可用的 API 制作 jabber 客户端。我在code.google.com/p/jabber-net/wiki/GettingStarted 有很好的体验
  • 找到了这个social.msdn.microsoft.com/Forums/en-US/winappswithnativecode/… 它是用 C++ 编写的,但是给你一个很好的跟踪。只需在任何给定端口上向地址为 255.255.255.255 的“主机”请求一个流,然后写下你的 hello 消息。所有设备都应侦听该端口并回复您好。我会通过设备发送已知可用客户端的列表,同时发送我的 hello 消息以获得更快的发现服务。总而言之,每台设备都会发现并告诉其他人他们已经认识的人,因此您更多地处于 P2P 场景而不是客户端-服务器。
猜你喜欢
  • 1970-01-01
  • 2016-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-31
  • 2018-02-20
  • 1970-01-01
  • 2015-04-19
相关资源
最近更新 更多