SORU
30 HAZİRAN 2009, Salı


Nasıl yuva yapılandırma zaman aşımı bağlanmak

İstemci bağlantısı kesilmiş bir IP adresine bağlanmaya çalışırken, 15 saniye... Nasıl bu zaman aşımı azaltabilir, üzerinden uzun bir zaman aşımı var mı? Bu yapılandırma yöntemi nedir?

Soket bağlantı kurmak için kullandığım kod aşağıdaki gibidir:

try
{
    m_clientSocket = new Socket(
         AddressFamily.InterNetwork,
         SocketType.Stream,
         ProtocolType.Tcp);

    IPAddress ip = IPAddress.Parse(serverIp);
    int iPortNo = System.Convert.ToInt16(serverPort);
    IPEndPoint ipEnd = new IPEndPoint(ip, iPortNo);

    m_clientSocket.Connect(ipEnd);
    if (m_clientSocket.Connected)
    {
        lb_connectStatus.Text = "Connection Established";
        WaitForServerData();
    }
}
catch (SocketException se)
{
    lb_connectStatus.Text = "Connection Failed";
    MessageBox.Show(se.Message);
}

CEVAP
16 Ocak 2011, Pazar


Bunu buldum. Kabul cevabı daha basit ve çalışır .NET v2

Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

// Connect using a timeout (5 seconds)

IAsyncResult result = socket.BeginConnect( sIP, iPort, null, null );

bool success = result.AsyncWaitHandle.WaitOne( 5000, true );

if ( !success )
{
            // NOTE, MUST CLOSE THE SOCKET

            socket.Close();
            throw new ApplicationException("Failed to connect server.");
}

// Success
//... 

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • audivila

    audivila

    5 HAZİRAN 2009
  • DJAndrewRyan

    DJAndrewRyan

    22 Ocak 2007
  • We've moved!

    We've moved!

    7 Ocak 2008