C语言测试 IP port 是否可达
2016-07-19 17:06
441 查看
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h> /* inet(3) functions */
#define bool int
#define false 0
#define true 1
/*日期:2016-7-18
* 作者:zhangyc
* 函数名: checkIPandPort
* 功能: 测试IP+port 是否可用
* 返回值: 可用返回true 否则返回false
* 参数: ip 点分十进制IP地址
* port 端口号
*/
bool checkIPandPort(const char* ip, const char* port) {
struct sockaddr_in addr;
int fd = socket(AF_INET, SOCK_STREAM, 0);
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(atoi(port));
addr.sin_addr.s_addr = inet_addr(ip);
if (connect(fd, (struct sockaddr *) &addr, sizeof(struct sockaddr)) < 0) {
printf("connect error \n");
return false;
}
return true;
}
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h> /* inet(3) functions */
#define bool int
#define false 0
#define true 1
/*日期:2016-7-18
* 作者:zhangyc
* 函数名: checkIPandPort
* 功能: 测试IP+port 是否可用
* 返回值: 可用返回true 否则返回false
* 参数: ip 点分十进制IP地址
* port 端口号
*/
bool checkIPandPort(const char* ip, const char* port) {
struct sockaddr_in addr;
int fd = socket(AF_INET, SOCK_STREAM, 0);
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(atoi(port));
addr.sin_addr.s_addr = inet_addr(ip);
if (connect(fd, (struct sockaddr *) &addr, sizeof(struct sockaddr)) < 0) {
printf("connect error \n");
return false;
}
return true;
}
相关文章推荐
- 结构struct
- C++正则表达式
- c++多个线程操作与互斥
- Day One 水题
- NYOJ 快速查找素数问题(筛法)
- C++问题,对象包含与成员函数不兼容的类型限定符
- C++策略模式
- 【编程语言】C++ 对指定的目标文件重命名
- splay树的一些基本操作 c语言代码
- C++输入
- 数组的遍历方法
- C/C++笔记(C语言重要问题,结构体篇)
- 事件调度器及C++中的使用
- 【编程语言】C++ int to string
- Simple Windows Service in C++
- C++STL之string详讲
- C和C++语言中字符串的声明
- Super Pow
- 它是无效的根据C++的语法
- C++ - PAT - L2-013. 红色警报(天梯赛决赛题目)