假设某台计算机ip为ip1,要确定它的1433端口是打开的,如何通过delphi编程实现?谢谢。

解决方案 »

  1.   

    用IDTCPclient去连接一下,connected表示连接成功呀
      

  2.   

    谢谢楼上各位的解答,我就是想通过delphi编程确定某个ip的1433端口是否是打开的,如果是打开的,然后用已经知道的sqlserver用户名和密码进行连接,并提示连接是否成功,不用扫描该机的所有开放端口。
      

  3.   


    sql应该是直接可以登录的呀,局域网试过,远程没试过.
      

  4.   

          ClientSocket1:=tClientSocket.Create(nil);
          ClientSocket1.ClientType:=ctBlocking;   //不能是ctNoBlock
          ClientSocket1.host:='218.9.185.138';
          ClientSocket1.Port:=1433;   //       SQLServer   Default   port
          try
              ClientSocket1.Open;
          except   
          ...
          end
      

  5.   

    可以直接连接数据库,sql server支持远程访问,连接字符串中填好ip,用户,密码就可以了
      

  6.   

    TElent IP  Port    成功,即為開放
      

  7.   

    to xulibing1016:ClientSocket是什么控件?谢谢
    to starluck:能给出简单的代码吗?谢谢
      

  8.   

    用socket控件或indy控件都行,connect对方ip的port,连接成功是开放,超时就是不开放
      

  9.   

    连接sqlserver数据库的功能已经完成了,使用的是ado连接的,现在有个新问题,我连接sqlserver数据库如果密码输入不对,或者1433端口没有开放,程序会等待一段时间,并失去焦点,大约几十秒,而且我通过观察发现程序在连接对方1433端口后如果1433没有开放,还会连接对方的139和445端口,能不能这样,如果对方的1433端口没有开放,连接5秒后,就不连接了,执行其他操作?是在ado属性那里实现,还是需要写代码?