您的位置:首页 > 编程语言 > C语言/C++

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: