有代理服务器,如何探测 Internet 连接状态(100分)

  • 主题发起人 主题发起人 z1w2x3
  • 开始时间 开始时间
Z

z1w2x3

Unregistered / Unconfirmed
GUEST, unregistred user!
有代理服务器,如何探测 Internet 连接状态。
 
我也想知道
 
不会有比这个更好的答案了!!!
包括了代理服务器等各种情况。
拿去,别忘了给分!呵呵

uses WinInet;

procedure TForm1.Button1Click(Sender: TObject);

function GetOnlineStatus : Boolean;
var ConTypes : Integer;
begin
ConTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY;
if (InternetGetConnectedState(@ConTypes, 0) = False)
then Result := False
else Result := True;
end;

begin
if not GetOnlineStatus then ShowMessage('Not Connected');
end;
 
to:unreal
首先,对你表示感谢。你的代码我试了,当我的计算机与外界物理上断开时,它依然没有
返回“Not Connected”,所以你的程序还需要改进,麻烦你测试成功后再发给我,如果
成功,$100一定送上。谢谢!
 
有没有InternetGetConnectedState的说明?DELPHI的帮助中找不到。
 
win32 help 中也找不到!
 
在D5里面随便找一个支持代理的控件。
一般都有连接,失败等事件。
比如MAIL类的POP控件。
如果失败,就算是没连网。
 
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=311213

不是什么东西都有help的,去看看 WinInet的源码吧。
这是wininet.dll中的一个函数。MSDN中我都没有查到,呵呵.I love Delphi!
to:z1w2x3
我做事是很负责任的,没有测试过的动西我是不会随便贴上来的,
是你自己没有讲清楚。
你是通过拨号上网还是局域网?有没有合法的IP地址?
什么类型的代理服务器?sock4、sock5还是http?
是使用SockCap一类的代理程序还是在IE中设的?
你并没有提供足够的信息,要想获得别人的帮助自己也要真诚一点,
虽然大富翁里可以给分,可是说的俗点,那分不能当钱花!
这里应该是供大家交流的地方而不是挣分的地方,
分数只是保证大家的热情和这里的人气的一种手段,而不是目的。
有人帮助你那是好心,说难听点不帮你也是应该,
所以我觉得大家到大富翁来都应该保持一种良好的心境。
 
unreal,不必如此发牢骚吧,呵呵。
其实wint的建议可能是个好办法:
我曾经想判断用户是否有声卡来决定是否播放背景音乐。看了半天函数,最后使用异常。
没有声卡的机器会有异常出现,呵呵,就不播放了。
 
to tounreal:
再次表示感谢,其实我的上一个帖子并无别的意思,希望你能理解我着急的心情。正如
你所说,我们的目的是把问题搞清楚。我们公司用的是mirosofo proxy, 我们安装
mirosoft proxy client 后在浏览器中不用设代理就可以上网,我如何才能知道它是否
支持socket5, 你能否分几种情况:proxy, modem 说明一下应如何处理。
 
INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY
这三个你分别试试看看是哪一个返回True如果lan和modem都是False proxy还是True
那这个办法恐怕就不行了,那就只好Ping了
对了,你的网线是启动之前就拔了还是启动之后拔的?我想这会有关系的。
我想如果你刚刚拔掉网线就试这个恐怕一定是True.
我现在没条件试,你重新试试看。
socket5默认端口是1080。你用Telnet试一下.
 
unreal:
你这个函数好象不行啊!我是通过proxy上网的。但我把网线拔了,重启机器。
用你这个方法返回还是True,INTERNET_CONNECTION_MODEM ,INTERNET_CONNECTION_LAN ,
INTERNET_CONNECTION_PROXY 三个参数分别试,返回还是True。不知道如何才能返回
False。
 
不管怎样,函数总会是有用的,先留着。
我对unreal比较有信心。
 
z1w2x3:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。
 
多人接受答案了。
 
后退
顶部