C語言測試 IP port 是否可達
阿新 • • 發佈:2019-02-01
#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;
}