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