10.172.12.13 と 58.53.12.15 の 2 つの IP アドレスを持つクライアント システムがあります。
サーバーは、10.172.12.18 と 58.53.12.17 の 2 つの IP アドレスを持つようにも構成されています。
ここで、クライアント側で、最初にローカル アドレスとポート (ポートは 0) にバインドしてから、TCP 非ブロッキング接続を実行します。
奇妙な動作は、バインドするローカル アドレスとして 10.172.12.13 を指定し、サーバーで 58.53.12.17 に接続すると、接続に失敗して「ホストに到達できません」というエラーが表示されることです。
しかし、クライアントでローカル アドレスを 58.53.12.15 として指定し、サーバーで 58.53.12.17 に接続しようとすると、接続されます。
最も興味深い & 驚くべき側面は、上記の実行後、バインドして 58.53.12.15 に接続するローカル アドレスとして 10.172.12.13 を再度指定すると、正常に接続されることです。しかし、これはほんの数分間しか起こりません。しばらくすると、ローカル アドレスとして 10.172.12.13 の接続が再び失敗します。
誰かに何が起こっているのか説明してもらいますか? バインドは TCP 接続にどのように影響しますか?