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

  • EvilControllers

    EvilControll

    20 Ocak 2008
  • humanHardDrive

    humanHardDri

    16 Mart 2011
  • Jonathan Morrison

    Jonathan Mor

    24 Mart 2010