クライアントマシンのIPアドレスをsockaddr
から取得できますか?クライアントのIPアドレス/ MAC
クライアントからは、ユーザーがサーバーに接続するためのシステムまたはブラウザーを意味します。
クライアントが一部のプロキシ/ルータの背後にあり、サーバーに直接接続していないと仮定します。
クライアントマシンのIPアドレスをsockaddr
から取得できますか?クライアントのIPアドレス/ MAC
クライアントからは、ユーザーがサーバーに接続するためのシステムまたはブラウザーを意味します。
クライアントが一部のプロキシ/ルータの背後にあり、サーバーに直接接続していないと仮定します。
サーバーが応答パケットを送信するIPアドレスを取得できます。多くの場合、これは、クライアントコンピュータのIPアドレスですが、それはする必要はありません(多くの場合、企業ネットワークで使用される)
クライアントコンピュータのIPアドレスが必要な場合、クライアントはデータをサーバーに送信する必要があります。このように受け取った住所が実際のものであるという保証はありません。たとえそれが本当のものであっても、ユニークであることを保証することはできません(多くの企業ネットワークは、内部使用のために予約された192.168.X.Xシリーズのアドレスを使用します)。また、内部アドレスでクライアントに接続できない可能性はほとんどありません。
チェック同じ質問にこの答え(私が正しくあなたの質問を理解していれば)Getting IPV4 address from a sockaddr structure
socket.h状態:
int accept (int socket, struct sockaddr *address,
socklen_t *address_len);
アドレス:どちらかNULLポインタ、またはどこsockaddr構造体へのポインタ接続ソケットのアドレスが返されます。