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

  • CorridorDigital

    CorridorDigi

    17 Mayıs 2010
  • funbro1

    funbro1

    11 Aralık 2007
  • LiveForGodsKingdom

    LiveForGodsK

    6 NİSAN 2008