クライアントPC1台+サーバーPC2台(A、B)という構成で、
クライアントPCからサーバAにtcp接続を行い、コネクション確立されたらAに、確立されなければBにアクセスするというソフトを作成しています。

TCPポート50002を指定して接続確認を行いたいのですが、うまく行えません。
ファイアウォールの送受信設定で50002を許可にはしています。

下記が実装中のTCPアクセスクラスです。

public class TcpClientAcs
{
    string strPartnerIpAddress;
    int nPort;
    int nTcpConnectionTimeout;
    int nTcpConnectionCount;


    public TcpClientAcs()
    {
        nPort = 50002;
        nTcpConnectionTimeout = 2000;
        nTcpConnectionCount = 2;           
    }

    public bool CLTMain(string ipaddress)
    {
        strPartnerIpAddress = ipaddress;
        System.Net.Sockets.TcpClient tcp;        
        int ConnectionRetryCnt = 0;
        tcp = null;

        // TCP connection
        while (true)
        {

            if (ConnectionRetryCnt < nTcpConnectionCount)
            {
                try
                {
                    tcp = new TcpClient();
                    var connection = tcp.BeginConnect(strPartnerIpAddress, nPort, null, null);
                    var success = connection.AsyncWaitHandle.WaitOne(nTcpConnectionTimeout);
                    //add retry count
                    if (!success)
                    {
                        ConnectionRetryCnt++;
                        continue;
                    }
                    else
                    {                            
                        break;
                    }
                }
                catch (Exception)
                {
                    ConnectionRetryCnt++;
                }
            }
            else
            {
                return false;
            }
            return true;
        }
        return true;
    }
}

宜しくお願いします。