去掉输入参数的tcping
来源:互联网 发布:无法访问移动网络 编辑:程序博客网 时间:2024/05/17 01:55
/* tcping does a nonblocking connect to test if a port is reachable.
* Its exit codes are:* -1 an error occured
* 0 port is open
* 1 port is closed
* 2 user timeout
*/
#include <sys/socket.h>#include <netinet/in.h>#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <unistd.h>#include <sys/time.h>#include <fcntl.h>#include <arpa/inet.h>#define SRV_IP "8.8.8.8"#define SRV_PORT 53int main (int argc, char *argv[]) {int sockfd;struct sockaddr_in addr;int error = 0;int errlen;int ret;struct timeval timeout;fd_set fdrset, fdwset;timeout.tv_sec=10;timeout.tv_usec=0;if((sockfd = socket (AF_INET, SOCK_STREAM, 0)) < 0){printf("socket error.\n");return -1;}memset(&addr, 0, sizeof(addr));addr.sin_family = AF_INET; addr.sin_port = htons(SRV_PORT);if(inet_pton(AF_INET,SRV_IP,&addr.sin_addr) < 0){printf("inet_pton error.\n");close(sockfd);return -1;}fcntl(sockfd, F_SETFL, O_NONBLOCK);if (connect(sockfd, (struct sockaddr *) &addr, sizeof(addr)) != 0) {if (errno != EINPROGRESS) { printf("%s\n", strerror(errno)); return (-1); }FD_ZERO(&fdrset);FD_SET(sockfd, &fdrset);fdwset=fdrset;if ((ret = select(sockfd+1, &fdrset, &fdwset, NULL, &timeout)) == 0) {close(sockfd);printf( "timeout.\n");return(2);}if (FD_ISSET(sockfd, &fdrset) || FD_ISSET(sockfd, &fdwset)) {errlen = sizeof(error); if ((ret=getsockopt(sockfd, SOL_SOCKET, SO_ERROR, &error, &errlen)) != 0) { printf( "getsockopt error.\n"); close(sockfd); return(-1); } if (error != 0) { printf( "closed.\n"); close(sockfd); return(1); } } else { printf("select: sockfd not set\n");close(sockfd); return(-1); } }printf("connection established.\n ");close(sockfd);return 0;}
- 去掉输入参数的tcping
- tcping
- 去掉swing的输入框
- 去掉以前输入的提示
- 去掉谷歌上输入输入框的 边框
- 去掉输入字符串中间的空格
- 去掉input 输入框的边框
- 去掉INPUT输入时的框
- JS去掉输入框的左右空格
- java的输入参数
- python的输入参数
- javascript去掉url的一个参数
- tcping命令详解
- 带输入参数的游标
- main函数的输入参数
- 在命令行输入参数 判断每个参数输入的次数
- 去掉用户输入的时候带标签的正则
- 去掉文本框输入缓存
- C语言操作MySql数据库入门
- java练习题: 九九乘法表
- 【Unity3D】脚本中 #pragma
- jdk环境变量配置
- C++继承中的内存布局
- 去掉输入参数的tcping
- Http Status Code Definitions
- yum 失败(This system is not registered with RHN.)解决方法
- vs2008无法设置数据断点(Data Breakpoint)的解决方法
- Python中整数对象的实现
- 程序清单4——4 Sentinevalue.java
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- BitmapFactory.Options
- session了解及超时处理