Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menetapkan Tamat Masa Sambungan Soket dalam .NET?

Bagaimana untuk Menetapkan Tamat Masa Sambungan Soket dalam .NET?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-10 11:08:43571semak imbas

How to Set Socket Connect Timeout in .NET?

Menguruskan Tamat Masa Sambungan Soket dalam Aplikasi .NET

Isu ketersambungan rangkaian boleh menyebabkan kelewatan yang ketara apabila membuat sambungan soket. Untuk mengelakkan penantian yang tidak pasti, .NET menyediakan mekanisme untuk menetapkan tamat masa sambungan. Ini memastikan aplikasi anda bertindak balas dengan cekap, walaupun menghadapi masalah rangkaian.

Kelas Socket dalam .NET menawarkan kaedah untuk mengurus tamat masa sambungan. Walaupun tetapan lalai membenarkan menunggu tanpa had, melaksanakan tamat masa adalah penting untuk tingkah laku aplikasi yang mantap.

Coretan kod berikut menunjukkan cara menetapkan tamat masa sambungan 5 saat menggunakan BeginConnect dan EndConnect:

<code class="language-csharp">IAsyncResult result = socket.BeginConnect(sIP, iPort, null, null);

bool success = result.AsyncWaitHandle.WaitOne(5000, true);

if (socket.Connected)
{
    socket.EndConnect(result);
}
else
{
    socket.Close();
    throw new ApplicationException("Connection to server failed.");
}</code>

Kod ini cuba mewujudkan sambungan dalam tetingkap 5 saat yang ditentukan. Jika sambungan tidak berjaya dalam masa itu, SocketException dilemparkan, membolehkan pengendalian ralat yang sesuai dalam aplikasi anda.

Adalah penting untuk diingat bahawa contoh ini menggunakan .NET Framework v2. Sintaks tertentu mungkin berbeza sedikit dalam versi .NET yang lain. Rujuk kepada dokumentasi rasmi Microsoft untuk maklumat terperinci yang berkaitan dengan persekitaran .NET anda.

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

Kenyataan:
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