0
struct hostent *hostName;
struct in_addr ipv4addr;
inet_pton(AF_INET, inet_ntoa(client.sin_addr), &ipv4addr);
hostName = gethostbyaddr(&ipv4addr, sizeof(ipv4addr), AF_INET);
printf("Host name: %s\n", hostName->h_name);
最後の行にセグメンテーションがあります。私はhostentの適切な使い方を見て、msdn docsはこれを正確にこのように使用していることを示しています。セグメンテーションの原因は何ですか?なぜこのホストはsegfaultを引き起こしますか?
gethostbyaddreがNULLをリターンし、NULLを参照解除するとsegfaultが発生する可能性があります。またはhostName-> h_nameがNULLの場合、NULLセグメンテーションをprintf()します。 –