Groups | Blog | Home
all groups > dotnet windows forms > september 2004 >

dotnet windows forms : internet connection


Konrad
9/6/2004 12:09:04 PM
Hi

I'am checking in separate thread does the connection with
internet is estabilished. But program freezes
for 2-3 secs. How to do that user
doesn't feel this checking?

thanks
Konrad

hirf-spam-me-here NO[at]SPAM gmx.at
9/6/2004 12:37:02 PM
* "Konrad" <konrad007@poczta.onet.pl> scripsit:
[quoted text, click to view]

How do you check if the connection is established?

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
Konrad
9/6/2004 12:53:08 PM
I found this method and it is quick

//Creating the extern function...

[DllImport("wininet.dll")]

private extern static bool InternetGetConnectedState(

out int Description, int ReservedValue ) ;



public static bool IsConnectedToInternet( )

{

int Desc ;

return InternetGetConnectedState( out Desc, 0 ) ;

}



and previous method

public static bool IsInternetConnected(string url)

{

bool FoundUrl = true;

try

{

WebRequest req;

WebResponse result;

Stream ReceiveStream;

Encoding encode;

StreamReader sr;

req = WebRequest.Create(url);

req.Timeout = 5000;

result = req.GetResponse();

ReceiveStream = result.GetResponseStream();

encode = System.Text.Encoding.GetEncoding("utf-8");

sr = new StreamReader(ReceiveStream, encode);

}

catch(System.Exception e)

{

FoundUrl = false;

}

return FoundUrl;


}

Thanks

Konrad

[quoted text, click to view]

MuZZY
9/7/2004 3:30:49 AM
[quoted text, click to view]

Hi Konrad,

Well, i've seen in a few articles that using any windows api functions
to test internet connection isn't reliable anyway - at the most it will
say that you are connected, but it can't check either it's just a LAN
connection, or internet.

What i would do is try to establish a conection with a well nown web
site, say yahoo or google using System.Net.HttpWebRequest class.
I am not sure if it's a synchronous or asynchronous socket connection,
but anyway you can launch it in a separate thread.
I remember myself doing that back in Delphi couple years ago, and it
worked fine!

AddThis Social Bookmark Button