eaddrnotavail عند ربط 127.0.0.1 على LocalHost؟
سؤال
انا احصل errno==49 (EADDRNOTAVAIL)
عند محاولة UDP-bind()
إلى 127.0.0.1:47346 تشغيل Mac OS X على G5 (Big Endian PowerPC). هل هناك شيء يمنعني من القيام بذلك؟ لقد جربت عناوين ومنافذ أخرى (192.168.1.2 و ميناء 47346) ولكن دون نجاح.
إليك طباعة GDB من Sockaddr_in:
$1 = {
sin_len = 0 '\0',
sin_family = 2 '\002',
sin_port = 47346,
sin_addr = {
s_addr = 3232235778
},
sin_zero = "???\000\000??"
}
المحلول
يجب عليك ملء حقل SIN_LEN أيضا (مع SizeOf (SOCKADDR_IN)، يجب أن تفعل الخدعة). لا يظهر هذا الحقل على كل منصة، ولكن على أنه موجود، يجب ملءه.
مرحبا، تأكد من أن بريك بريكل قبل استخدامه (ولكن يبدو أنك فعلت ذلك على أي حال).
لا تنتمي إلى StackOverflow