Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengkonfigurasi Tamat Masa Sambungan Soket dalam Rangka Kerja .NET?

Bagaimanakah Saya Boleh Mengkonfigurasi Tamat Masa Sambungan Soket dalam Rangka Kerja .NET?

Linda Hamilton
Lepaskan: 2025-01-10 12:04:41
asal
690 orang telah melayarinya

How Can I Configure Socket Connect Timeout in .NET Framework?

Menguruskan Tamat Masa Sambungan Soket dalam Rangka Kerja .NET

Aplikasi rangkaian selalunya perlu mengawal masa yang dihabiskan untuk menunggu sambungan ke pelayan jauh. Tamat masa sambungan soket Rangka Kerja .NET lalai boleh menjadi agak panjang (selalunya melebihi 15 saat), membawa kepada kelewatan apabila menyambung kepada hos yang tidak bertindak balas. Artikel ini menunjukkan cara melaraskan tamat masa ini untuk meningkatkan kecekapan.

Pertimbangkan coretan kod berikut:

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

// ...

m_clientSocket.Connect(ipEnd);
Salin selepas log masuk

Gelagat lalai kaedah Connect ialah menyekat sehingga 15 saat. Untuk melaksanakan tamat masa yang lebih pendek, kami boleh memanfaatkan kelas AsyncWaitHandle:

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

// Set a 5-second connection timeout
IAsyncResult result = socket.BeginConnect(sIP, iPort, null, null);
bool success = result.AsyncWaitHandle.WaitOne(5000, true); // Wait for 5000 milliseconds (5 seconds)

if (socket.Connected)
{
    socket.EndConnect(result);
}
else
{
    // Handle connection failure
    socket.Close();
    throw new ApplicationException("Connection to server failed.");
}
Salin selepas log masuk

Kod yang disemak ini memulakan percubaan sambungan tak segerak. Kaedah WaitOne menunggu selama maksimum 5 saat. Sambungan yang berjaya dalam tempoh masa ini diselesaikan dengan EndConnect. Jika sambungan gagal, soket ditutup, dan pengecualian dinaikkan, menghalang menunggu berpanjangan untuk pelayan yang tidak bertindak balas. Pendekatan ini menyediakan kaedah yang mantap dan cekap untuk mengurus tamat masa sambungan soket dalam aplikasi Rangka Kerja .NET anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengkonfigurasi Tamat Masa Sambungan Soket dalam Rangka Kerja .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan