用C# 写一个判断网络连接是否正常的 程序
用C#写个判断网络是否正常连接
如果正常
返回一个正常提示
反之一个错误提示 --------------------编程问答-------------------- 有WindowsAPI函数,调用以后,返回网络是否连通。
包括使用的局域网还是拨号连接,都可以知道。 --------------------编程问答--------------------
--------------------编程问答-------------------- 直接用Socket连接一下指定的IP和端口就可以了。如果能连接上就是通的,不能连接上就没开端口。 --------------------编程问答-------------------- 可以通过Net ping一下远程服务器,可以ping通,网络正常。也可以用Win32API嘛,2L已经写了啦~[align=center]***********************************************************
[Flags]
enum ConnectionState : 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
}
[DllImport("wininet.dll", CharSet = CharSet.Auto)]
static extern bool InternetGetConnectedState(ref ConnectionState lpdwFlags, int dwReserved);
public static bool IsConnectedToInternet()
{
ConnectionState Description = 0;
bool conn = InternetGetConnectedState(ref Description, 0);
return conn;
}
欢迎使用CSDN 小秘书
每天顶贴即可得到10个积分O(∩_∩)O~
***********************************************************[/align] --------------------编程问答-------------------- 友情帮顶~~~~~~~~~~~~~~
可以考虑这个思路
--------------------编程问答-------------------- string str="";
try
{
...//路由到百度
return true;
}
catch
{return false;}
Ping pingSender = new Ping();
PingOptions options = new PingOptions();
options.DontFragment = true;
string data = "";
byte[] buffer = Encoding.ASCII.GetBytes(data);
int timeout = 1200;
PingReply reply = pingSender.Send(IP, timeout, buffer, options);
if (reply.Status == IPStatus.Success)
{
str= "网络正常";
}
[DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState(out int connectionDescription, int reservedValue);
public bool IsInternetConnected()
{
int i = 0;
return InternetGetConnectedState(out i, 0);
}
--------------------编程问答-------------------- 好东西,收藏。 --------------------编程问答-------------------- 好東西,如果可以自動連接網絡硬盤就好了. --------------------编程问答-------------------- 6楼是人才啊,谢谢啦,很有用 --------------------编程问答-------------------- --------------------编程问答-------------------- 参考 --------------------编程问答-------------------- 前面别忘了导入
using System.Runtime.InteropServices;
class wangluo
{
//检测网络状态
[DllImport("wininet.dll", EntryPoint = "InternetGetConnectedState")]
public extern static bool InternetGetConnectedState(out int conState, int reder);
public static bool jiance()
{
int Desc = 0;
return InternetGetConnectedState(out Desc, 0);
}
}
使用时调用:
if(wangluo.jiance())
{
MessageBox.Show("网络连接正常");
}
else
{
MessageBox.Show("网络连接不正常");
} --------------------编程问答--------------------
IP是啥??? --------------------编程问答-------------------- 虽然没看懂,标记下、、后用。 --------------------编程问答--------------------
+1
这个好用,我用的就是这个 --------------------编程问答-------------------- 如果只要知道电脑的网络是否连通的话,就值需要调用2L的方法检查一下就好了。如果需要知道本机是否可以连接到特定的服务器的,可以使用ping的方式。如果需要知道本机连接到的服务器是否能请求服务器某些API的时候,就需要请求特定的服务器API --------------------编程问答-------------------- 记得当年我是ping滴,嘿嘿 --------------------编程问答-------------------- --------------------编程问答-------------------- http://hi.baidu.com/liujw1220/blog/item/99a50e09ba27922e6a60fb6e.html --------------------编程问答-------------------- 好东西啊 --------------------编程问答-------------------- 常用知识,标记备用 --------------------编程问答-------------------- Mark 备用
补充:.NET技术 , C#