サーバー側のソケットは 192.168.1.69:9000 をバインドし、リッスンを開始します。クライアントは 127.0.0.1:9000 を使用してサーバーに接続します。しかし、失敗します。ただし、クライアントが 192.168.1.69:9000 を使用してサーバーに接続すると機能します。
クライアントとサーバーは両方とも同じコンピューターで実行されています。
私の質問は次のとおりです。ループバック アドレスを使用しているクライアントがサーバーに接続すると、成功するはずですが、失敗します。なぜですか?
Server Code:
this.pro_ListenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
this.pro_ListenSocket.ReceiveBufferSize = this.pro_BufferSize;
this.pro_ListenSocket.SendBufferSize = this.pro_BufferSize;
try
{
this.pro_ListenSocket.Bind(new IPEndPoint(this.pro_ServerIP, this.pro_Port));
}
catch (SocketException socketError)
{
return false;
}
catch (Exception)
{
return false;
}
try
{
this.pro_OnRunning = true;
this.pro_ListenSocket.Listen(500);
this.StartToAcceptClient(this.pro_ListenSocket);
}
catch (Exception ex)
{
return false;
}