Я отправляю пакет синхронизации tcp на Ip, который не существует ,, но не получает ответ

Если вы находитесь внутри метода, вы можете сделать это:

class Thing():
    def __init__(self):
        exec('self.foo = 2')

x = Thing()
print(x.foo)

Здесь вы можете узнать подробнее

-1
задан frank 18 January 2019 в 02:52
поделиться

1 ответ

Вы получаете только -1 возвращаемое значение для локально обнаруженных ошибок, когда пакет отсутствует в сети, sendto завершает работу с ним.

man sendto

В send () нет никаких признаков сбоя доставки. Локально обнаруженные ошибки обозначаются возвращаемым значением -1.

// send syn packet
size_t ret_code = sendto (s,datagram, 
                         sizeof(struct iphdr) + sizeof(struct tcphdr),
                         0,(struct sockaddr *) &dest, sizeof (dest)) ;
// ret_code will be length if successful, else -1      

if ( ret_code ==-1){
        // If packet successfully sent out on interface but dropped by router along path, this is not triggered.
        printf ("Error sending syn packet. Error number : %d . Error message : %s \n",errno, strerror(errno));
        exit(0);
}
0
ответ дан visibleman 18 January 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: