C Sub: Program Ping

Schnelle Prüfung ob eine IP an einem bestimmten Port erreichbar ist. Return Werte einfach 0 (falsch) oder 1 (wahr).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
 
int test(char *_SERVER) {
    int _PORT = 80;
    int sockfd = socket(AF_INET, SOCK_STREAM, 0);
    struct sockaddr_in addr = {AF_INET, htons(_PORT), inet_addr(_SERVER)};
    struct timeval timeout;
    timeout.tv_sec = 1;
    timeout.tv_usec = 0;
    setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof(timeout));
    setsockopt(sockfd, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout, sizeof(timeout));
    if (connect(sockfd, (struct sockaddr *) &addr, sizeof(addr)) != 0)
        return 0; 
    else
        return 1;
    close(sockfd);
}

Ein Gedanke zu „C Sub: Program Ping“

Kommentare sind geschlossen.