相关疑难解决方法(0)

使用.NET检查Internet连接的最佳方法是什么?

在.NET中检查Internet连接的最快,最有效的方法是什么?

.net c# internet-connection

224
推荐指数
11
解决办法
21万
查看次数

检查C#是否可以使用Internet连接

以编程方式检查互联网连接是否可用的最简单方法是什么?

编辑:建议我尝试使用以下方法,但它总是返回true.

[Flags]
enum InternetConnectionState : int
{
    INTERNET_CONNECTION_MODEM = 0x1,
    INTERNET_CONNECTION_LAN = 0x2,
    INTERNET_CONNECTION_PROXY = 0x4,
    INTERNET_RAS_INSTALLED = 0x10,
    INTERNET_CONNECTION_OFFLINE = 0x20,
    INTERNET_CONNECTION_CONFIGURED = 0x40
}

class Program
{
    [DllImport("WININET", CharSet = CharSet.Auto)]
    static extern bool InternetGetConnectedState(ref InternetConnectionState lpdwFlags, int dwReserved);

static void Main(string[] args)
{
    InternetConnectionState flags = 0;
    bool isConnected = InternetGetConnectedState(ref flags, 0);
    Console.WriteLine(isConnected);
    //Console.WriteLine(flags);
    Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)

附加信息(如果有帮助):我通过共享的无线网络访问互联网.

c# windows-7

25
推荐指数
5
解决办法
2万
查看次数

如何使用.NET,C#和WPF检查Internet连接

我正在使用.NET,C#和WPF,我需要检查连接是否打开到某个URL,我无法获得我在Internet上找到的任何代码.

我试过了:

Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
    IAsyncResult result = socket.BeginConnect("localhost/myfolder/", 80, null, null);
    bool success = result.AsyncWaitHandle.WaitOne(3000, true);
    if (!success)
    {
        MessageBox.Show("Web Service is down!");
    }
    else
        MessageBox.Show("Everything seems ok");
}
finally
{
    socket.Close();
}
Run Code Online (Sandbox Code Playgroud)

但即使我关闭了我的本地Apache服务器,我总是得到一切都正常的消息.

我也尝试过:

ing ping = new Ping();
PingReply reply;
try
{
    reply = ping.Send("localhost/myfolder/");
    if (reply.Status != IPStatus.Success)
        MessageBox.Show("The Internet connection is down!");
    else
        MessageBox.Show("Seems OK");
}
catch (Exception ex)
{
    MessageBox.Show("Error: " + ex.Message);
}
Run Code Online (Sandbox Code Playgroud)

但这总是给出一个例外(ping似乎只能ping服务器,所以localhost工作但localhost/myfolder/doesnt)

请问如何检查连接,以便它对我有用?

.net c# connection wpf

19
推荐指数
6
解决办法
4万
查看次数

C#测试活动的互联网连接.Ping google.com

C#2008

我正在使用此代码来测试互联网连接.因为我的应用程序必须登录到Web服务器.但是,如果用户互联网连接失败或电缆拔出.我必须通知用户.

 // Ping www.google.com to check if the user has a internet connection.
    public bool PingTest()
    {
        Ping ping = new Ping();

        PingReply pingStatus = ping.Send(IPAddress.Parse("208.69.34.231"));

        if (pingStatus.Status == IPStatus.Success)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我认为我可以测试互联网连接的唯一方法是ping www.google.com.所以我使用了一个服务器计时器,我设置了500毫秒,在已失效的事件中,它将调用此ping函数.如果ping返回false.然后我的应用将采取适当的行动.

您认为使用谷歌作为测试互联网连接的方式是一件好事.如果谷歌失败,那么我的应用程序将无法运行.轮询1/2秒是多少还是太少?只是想知道我的整个想法是否好?

非常感谢,

c# networking

14
推荐指数
2
解决办法
2万
查看次数

插入网络电缆/连接Wifi时通知

我正在C#中实现一个发现协议(DNS-SD).我有一个小问题:当我的程序运行时,我需要检测何时建立新连接(网络电缆插入或wifi连接),以便在这些网络上宣布自己.

但是如何检测呢?我已经看到一些代码来获取网卡的当前状态,但没有事件,我想避免对网卡状态进行一些轮询.

.net c# networking network-programming network-connection

9
推荐指数
1
解决办法
1956
查看次数

从WPF/XBAP应用程序检测网络连接?

有没有办法确定XBAP(浏览器中托管的WPF)应用程序是否具有网络连接?如果没有,用C#和.NET编写的传统Windows客户端如何确定它是否具有连接性?

基本上,用例是在通过WiFi连接到Intranet的移动笔记本电脑上运行的XBAP应用程序.笔记本电脑无法连接到Internet.取决于用户当时的位置,WiFi连接可能存在也可能不存在.

.net c# wcf xbap

7
推荐指数
1
解决办法
4044
查看次数

如何在C#中检查互联网连接是否可用

我为公司开发了一个软件.出于某种许可目的,我使用远程数据库来允许/禁止使用该软件.每次用户登录软件时都会应用此任务.如果互联网连接不存在或者对远程数据库的查询失败,则用户收到错误并且他无法登录软件并显示远程数据库的http地址(我不希望他看到,如果他仔细阅读错误)

我想知道的是执行相同过程的任何方式,但如果远程数据库查询失败或Internet连接不可用,它应该暂时绕过检查,并在下次登录尝试时,遵循相同的过程.所以我的客户不应该知道这个许可的东西.

如何在创建对远程数据库的查询之前检查Internet连接(LAN,WiFi,拨号或用户正在使用的任何内容).

建议的方法:

  1. Ping我的远程数据库服务器IP.

  2. Michel的这个问题

关于结果我从米歇尔的问题中获得的结果是不稳定的解决方案.

c#

4
推荐指数
1
解决办法
5055
查看次数