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

  • Flohoo

    Flohoo

    12 EYLÜL 2009
  • Marissah Simonini

    Marissah Sim

    25 HAZİRAN 2013
  • mobilenet.cz

    mobilenet.cz

    26 NİSAN 2008