当前位置: 技术问答>linux和unix
linux下如何利用socket测试服务器是否可达?
来源: 互联网 发布时间:2017-01-30
本文导语: 需求如下: 我在linux机器下开了一个MemCached服务器,地址是:192.168.190.12:11211 现在要使用一种机制来判断该服务端口是否开启。。。 网上很多帖子都是使用: connect + select方式来测试~ 这个方法在windows下行得通,...
需求如下:
我在linux机器下开了一个MemCached服务器,地址是:192.168.190.12:11211
现在要使用一种机制来判断该服务端口是否开启。。。
网上很多帖子都是使用:
connect + select方式来测试~
这个方法在windows下行得通,在win下面只要select返回 1 就表示服务开启;
但是在linux下,我服务关闭了,select仍然会返回 1
所以,不能由select返回1来判断服务是否开启...
跪求大虾们打救!!!
我在linux机器下开了一个MemCached服务器,地址是:192.168.190.12:11211
现在要使用一种机制来判断该服务端口是否开启。。。
网上很多帖子都是使用:
connect + select方式来测试~
这个方法在windows下行得通,在win下面只要select返回 1 就表示服务开启;
但是在linux下,我服务关闭了,select仍然会返回 1
所以,不能由select返回1来判断服务是否开启...
跪求大虾们打救!!!
|
这是非阻塞connect,select可写事件,getsockopt SO_ERROR根据返回值与传入参数的返回值判断是否错误。
|
现在要使用一种机制来判断该服务端口是否开启
如果端口关闭了,connect不会失败吗
如果端口关闭了,connect不会失败吗
|
端口关闭打印error 肯定是 connection refused
|
在linux下也可以connect+select