recvfrom
では、5 番目のパラメーターがsockaddr
構造体へのポインターである必要があり、6 番目のパラメーターが へのポインターである必要がありますsocklen_t
。
man recvfrom (3)
言います:
アドレスの実際の長さが指定された sockaddr 構造体の長さよりも大きい場合、格納されたアドレスは切り捨てられます。
AF_INET6 アドレス ファミリを使用して送信ソケットのアドレスを取得する方法がわかりませsockaddr_in6
ん。sockaddr
recvfrom
recvfrom
より大きいアドレスを取得できないというのは正しいsizeof(sockaddr)
ですか?
sockaddr_in6
キャストのインスタンスを定義してそのアドレスをsockaddr*
に渡してもrecvfrom
、関数はアドレスを格納するのに十分なスペースがあることを認識できないということを正しく理解していますか?