我以前写的代码,希望对你有帮助
使用Delphi侦测指定主机的端口状态
代码很简单,使用WinSock函数实现如下:
function CheckNetWork( port : Integer; IPAddress : string) : Boolean;
Var
skt1 : TSocket;
sa : TSockAddr;
begin
skt1 := socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
sa.sin_family := PF_INET;
sa.sin_port := htons(port);
//sa.sin_addr.S_addr := INADDR_ANY;
sa.sin_addr.S_addr := inet_addr( PAnsiChar(IPAddress));
//bind(skt1,sa,sizeof(sa));
if connect(skt1, sa, sizeof(sa))=0 then
MessageBox(0,'与远程主机已经建立连接','Test Network State', MB_OK)
Result := True
else
MessageBox(0,'与远程主机连接失败','Test Network State', MB_OK);
Result := False;
end;