首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过扫描局域网C#自动发现Web服务

如何通过扫描局域网C#自动发现Web服务
EN

Stack Overflow用户
提问于 2014-10-23 05:43:26
回答 2查看 1.2K关注 0票数 2

我正在使用C#中的web服务(用Java语言编写)。web服务在局域网中可用,但在编译时我不知道服务器的地址。我需要扫描网络以查找托管web服务的计算机的IP地址。不过,我知道港口。

目前,我有以下代码,它应该给我一个所有活动IP地址的列表,然后我计划尝试找出写端口是否打开,一旦我找到一台正确端口打开的计算机,我就会知道服务器的IP地址,我的思路是正确的吗?

代码语言:javascript
复制
List<IPAddress> ipList = new List<IPAddress>();
IPGlobalProperties network = IPGlobalProperties.GetIPGlobalProperties();
TcpConnectionInformation[] connections = network.GetActiveTcpConnections();

foreach (TcpConnectionInformation ipEnds in connections)
{
    ipList.Add(ipEnds.LocalEndPoint.Address);
    Console.WriteLine(ipEnds.LocalEndPoint.Address.ToString());
}
EN

回答 2

Stack Overflow用户

发布于 2014-10-24 20:44:52

web服务必须定义您可以发现的方式,例如,您使用特定的soap消息抛出一个广播,这样与该soap消息匹配的所有服务都必须响应您。您还可以使用DiscoveryClient类(C#)来发现服务,它允许您定义作用域和其他规范。

票数 0
EN

Stack Overflow用户

发布于 2014-10-24 22:19:36

您的C#应用程序是否在静态位置使用数据?

在构建时,您可以修改Java应用程序以访问使用服务,从而提供准确的位置。这应该会减少网络上的额外噪音。这还应该减少应用程序在尝试连接到指定端口上的每个IP地址时挂起的时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26517658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档