我想用超時和TTL進行ping。我使用Apple的代碼("Simple Ping")。我讀過它 "iOS ping with timeout"。我改變代碼:iOS和超時的ping和ttl
CFSocketNativeHandle sock = CFSocketGetNative(self->_socket);
struct timeval tv;
tv.tv_sec = 0;
tv.tv_usec = 100000; // 0.1 sec
setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, (void *)&tv, sizeof(tv));
bytesSent = sendto(
sock,
[packet bytes],
[packet length],
0,
(struct sockaddr *) [self.hostAddress bytes],
(socklen_t) [self.hostAddress length]
);
但我不明白我應該把代碼放在哪裏會顯示我接收數據包的超時。此外,我需要使用TTL(生存時間)信息進行ping。我想根據這個模式得到信息:icmp_seq=count from=ip_address ttl=value_of_ttl time=value_of_replytime_ms