当前位置: 技术问答>linux和unix
请问各位大侠,telnet能否设定超时连接
来源: 互联网 发布时间:2016-09-22
本文导语: 各位大侠,请问telnet能否象ftp那样,连接后超过一定的时间就会自动断开呢?该如何设置? 我是写在shell里,使用telnet $ip $port 来判断该通讯是否是好的,但现在的问题是如果该通讯不通,要等很久telnet $ip $port 才...
各位大侠,请问telnet能否象ftp那样,连接后超过一定的时间就会自动断开呢?该如何设置?
我是写在shell里,使用telnet $ip $port 来判断该通讯是否是好的,但现在的问题是如果该通讯不通,要等很久telnet $ip $port 才会自然退出,我希望设置telnet 的超时时间,比如设为3秒,不通的话就自动退出,也就认为该通讯不通,请问要如何设置?
谢谢!
telnet 192.168.1.10 8080 &1
quit
!
我是写在shell里,使用telnet $ip $port 来判断该通讯是否是好的,但现在的问题是如果该通讯不通,要等很久telnet $ip $port 才会自然退出,我希望设置telnet 的超时时间,比如设为3秒,不通的话就自动退出,也就认为该通讯不通,请问要如何设置?
谢谢!
telnet 192.168.1.10 8080 &1
quit
!
|
简单一点的,可以利用SIGALRM信号。
#include
#include
#include
#include
#include
#include
#include
void foo(int sig) {}
int main(int argc, char *argv[])
{
if( argc != 4 )
{
printf("Usage: %s xxx.xxx.xxx.xxx port timeoutnExample: %s 192.168.0.1 port timeoutn", argv[0], argv[0]);
exit(1);
}
int sockfd;
struct sockaddr_in servaddr;
if( (sockfd = socket(AF_INET, SOCK_STREAM, 0))