检测c#中的wifi连接

时间:2010-07-18 01:23:48

标签: c# asp.net winforms wifi

我正在开发一个应该检测wifi连接和强度的asp.net(或winforms)应用程序。目的是为现场代理人提供一个指示,表明他们可以连接到我们的总部

我需要检测wifi连接?

3 个答案:

答案 0 :(得分:5)

您无法在ASP.NET中执行此操作。 ASP.NET是一种服务器端技术,可以呈现客户端可浏览的代码。

为了做到这一点,你必须开发嵌入在页面中的东西(ActiveX,Java,Flash,Silverlight),即使这样,你也必须拥有用户的相应安全权限才能访问API需要访问wifi天线。

答案 1 :(得分:3)

查看wlanapi.dll中的WlanEnumInterfaces。你必须从C#中取消它。在Codeplex上有一个托管包装器(http://managedwifi.codeplex.com),但我不能保证它,因为我从来没有亲自使用它。

如果您不介意编写ActiveX对象,并且您的客户不介意从您的网站运行它,您仍然可以使用ASP.Net。

答案 2 :(得分:0)

您实际上只需使用两个 WinForms ASP.NET即可。在您的服务器上,使用返回true的单个方法创建Web服务。对于您的客户,您编写了一个winforms应用程序(位于托盘中的东西是理想的),每隔5或10秒(或您想要的任何间隔)轮询Web服务,并减少timeout秒。如果Web服务调用返回而没有抛出超时异常,那么您知道您已连接。如果它超时,你知道你没有连接(例如,你可以在连接时显示一些绿色的光,在没有连接时显示红色。)

请注意,您实际上不会以任何方式测量WIFI可用性(或其信号强度),但这可能不是您的现场代理真正关心的事情。他们可能只是想知道他们是否可以连接。