Wszystko fajnie i nawet powinno działać. Problem w tym że powinno można tu zastosować zamiennie z prawie a jak jest z tym drugim – wszyscy wiemy.
Co tym razem? Error 10014. WTF? Otóż to… Tutaj jest treść errora 10014:
WSAEFAULT: The system detected an invalid pointer address in attempting to use a pointer argument in a call.
Czyli że niby podaje zły adres… Ale gdzie?! Wywołanie recvfrom() wygląda na dobre i argumenty wszystkie są podefiniowane tak jak manual przykazał. Więc co jest źle? Tego być może nie dowiemy się w następnym odcinku…
EDIT: Rozwiązanie
Zaraz po napisaniu tego posta stwierdziłem, że jeszcze pogrzebie i odkryłem, że jednak nie można wyrzucić ostatniego argumentu z recvfrom() co wcześniej uczyniłem bo przecież wiem jaki rozmiar ma sockaddr_in. Poprzednio wstawiłem nam sobie NULL bo uważałem, że nie będę potrzebować tego argumentu… błąd… Ja go nie potrzebowałem, ale funkcja do działania owszem. Jako ostatni argument trzeba wstawić adres do zmiennej zawierającej sizeof(sockaddr_in) i wtedy wszystko działa.
Tym oto sposobem sprawiłem, że AGE potrafi już komunikować się ze światem poprzez UDP!
@Tarains: Napisałem już część ageNet, zadowolony? 😛