サーバー (A) とクライアント (B) を C で記述し、同じ Linux マシンで実行しています。サーバーはポートを INADDR_ANY にバインドし、クライアントは別のポートを INADDR_ANY にバインドします。別のLinux マシンで実行されている別のクライアント (C) がサーバーに接続するときに、サーバーがクライアント B の IP アドレスを取得し、それをクライアント C に送信するようにします。
サーバーから getpeername() を使用すると、正しい「127.0.0.1」が返されますが、このアドレスをクライアント C に送信できません。そのアドレスでクライアント B に接続することはできません。
クライアント B の実際の IP を取得するスマートな方法はありますか? 多少簡単な場合は、各クライアントに IP をサーバーに送信させることができます。
ありがとう!