如何检测局域网内的某台机子上的某个服务(如sql server)是否已启用?????用命令 net start 只以查看本地运行的服务!!!知道在windows下 系统工具 中的 服务管理器(Services.msc) 可以查看到局域网内的某台机子上运行服务的状态! 不知道有没有命令可以查看到.这样就可以用Java调用了?????或者用win API实现,用JNI调用? 请教高手!!!

解决方案 »

  1.   

    telnet后再用net命令 不过对方要开telnet服务
      

  2.   

    一般每个服务都对应一个端口,你可以直接检测这个这个端口是否处于启动状态。如果是tcp协议类的可以直接使用telnet ip port,如果端口没有启动会有提示信息;如果为udp协议类的可以自己写一个socket程序去和这个主机的这个端口进行绑定,如果端口没有启动的话,会返回提示信息的。
      

  3.   

    如果不知道端口怎么办???
    比如sql server端口可以任意指定!!虽然它有默认端口!但用户可以改变的!
    不知道它用的是哪一个端口!
      

  4.   

    一般象这些服务器程序的端口都是默认的一个,很容易查到
    sqlserver port 1433
    oracle port 1521
    关于不知道端口,既然你不知道这个服务的端口那你又怎么去应用客户端连接这个端口,应该是知道这个端口之后,然后想再查一下这个端口是否好用