使用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;

你可能感兴趣的:(Stream,socket,function,Integer,NetWork,Delphi)