Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengkonfigurasi Tamat Masa Sambung Soket dengan Cekap dalam .NET?

Bagaimana untuk Mengkonfigurasi Tamat Masa Sambung Soket dengan Cekap dalam .NET?

Susan Sarandon
Lepaskan: 2025-01-10 10:53:46
asal
356 orang telah melayarinya

How to Efficiently Configure Socket Connect Timeouts in .NET?

Mengoptimumkan Tamat Masa Sambungan Soket dalam .NET

Sambungan soket rangkaian memerlukan pengurusan tamat masa yang teliti untuk mengelakkan aplikasi terhenti dan meningkatkan pengalaman pengguna. Percubaan sambungan yang berpanjangan memberi kesan ketara kepada prestasi.

Pendekatan Disyorkan:

Kaedah paling berkesan untuk menetapkan tamat masa sambungan soket dalam .NET melibatkan memanfaatkan operasi tak segerak dengan IAsyncResult dan AsyncWaitHandle. Ini membolehkan kawalan tepat ke atas percubaan sambungan.

Contoh Ilustrasi:

<code class="language-csharp">Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

// Establish a 5-second connection timeout
IAsyncResult result = socket.BeginConnect(sIP, iPort, null, null);

// Await connection completion or timeout
bool success = result.AsyncWaitHandle.WaitOne(5000, true);

if (socket.Connected)
{
    socket.EndConnect(result);
    // Proceed with socket operations
}
else
{
    // Handle connection failure: close socket and raise exception
    socket.Close();
    throw new ApplicationException("Connection to server failed.");
}</code>
Salin selepas log masuk

Teknik tak segerak ini menawarkan kecekapan dan fleksibiliti unggul berbanding panggilan Connect() segerak tanpa tetapan tamat masa yang jelas. Ia menghalang urutan aplikasi semasa menunggu sambungan.

Atas ialah kandungan terperinci Bagaimana untuk Mengkonfigurasi Tamat Masa Sambung Soket dengan Cekap dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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