如何编个小程序巡视虚拟主机是否正常?
由于要管理不少的虚拟主机,想做个小程序能过一段时间巡视一下,所有的网站是否正常, 如何编呢?
是用webbrower一个个打开站呢,还是有什么更好更快的方法判断这个网站的80端口正常?
问题点数:200、回复次数:3Top
1 楼bee2518(迷茫ing)回复于 2004-12-01 14:01:42 得分 5
用一个timer一段时间Ping一次那个端口
这样可以吗?
WEB我不懂Top
2 楼sixgj(轰炸机)回复于 2004-12-01 14:11:06 得分 3
用webbrower一个个打开站Top
3 楼luke5678()回复于 2004-12-01 17:26:33 得分 192
一楼讲的有道理
可能是这样吧~~
用TClientSocket Connect至此端口,如果Connect成功,则此端口打开。如果产生了 ESocketError exception(Error no:10061), 则此端口未打开。
//例子
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ScktComp;
type
TForm1 = class(TForm)
ClientSocket1: TClientSocket;
testport: TButton;
procedure testportClick(Sender: TObject);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.testportClick(Sender: TObject);
begin
with ClientSocket1 do
begin
Close;
Host := 'servername';//servername为要检测的服务器服务器名
Port := 10000;//10000为要检测的服务器端口
Open;
end;
end;
procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
showmessage(format('服务器%s上的端口%d已打开',[ClientSocket1.host,ClientSocket1.port]));
end;
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
showmessage(Format('无法连接服务器%s的端口%d',[ClientSocket1.host,ClientSocket1.port]));
ErrorCode := 0;
end;
end.
Top




