Если вы находитесь внутри метода, вы можете сделать это:
class Thing():
def __init__(self):
exec('self.foo = 2')
x = Thing()
print(x.foo)
Вы получаете только -1 возвращаемое значение для локально обнаруженных ошибок, когда пакет отсутствует в сети, sendto завершает работу с ним.
В send () нет никаких признаков сбоя доставки. Локально обнаруженные ошибки обозначаются возвращаемым значением -1.
blockquote>// 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); }