Pelayan membaca penyelesaian ralat sambungan klien: "Tidak dapat membaca data daripada sambungan pengangkutan: Hos jauh menutup sambungan sedia ada secara paksa"
Aplikasi pelayan sering menghadapi ralat seperti "Tidak dapat membaca data daripada sambungan pengangkutan: Hos jauh menutup sambungan sedia ada secara paksa", terutamanya apabila ralat berlaku secara berselang-seli, masalah menjadi lebih sukar. Ralat ini berlaku apabila pelanggan cuba mewujudkan sambungan dengan pelayan, tetapi sambungan ditutup secara tiba-tiba.
Analisis punca masalah
Untuk mengetahui punca ralat ini, mari kita periksa kod yang disediakan:
<code>// line 96: a = sr.ReadLine();</code>
menggunakan StreamReader
(sr) pada baris 96 untuk membaca baris daripada strim klien. Walau bagaimanapun, jika sambungan ditutup lebih awal, operasi baca akan gagal dan pengecualian akan dilemparkan.
Sebab yang berkemungkinan
Ralat ini mungkin dikaitkan dengan beberapa faktor:
Penyelesaian
Sahkan konfigurasi TLS: Pastikan kedua-dua pelanggan dan pelayan menggunakan versi TLS yang serasi dan selamat. Ini boleh dicapai dengan melaraskan atribut ServicePointManager
SecurityProtocol
.
<code> System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;</code>
Pantau sambungan rangkaian anda: Periksa kestabilan sambungan rangkaian anda untuk menolak gangguan sementara atau sambungan tidak stabil.
Semak tingkah laku klien: Siasat sebarang isu atau tingkah laku luar biasa pada klien yang boleh menyebabkan sambungan terputus secara tidak normal.
Atas ialah kandungan terperinci Mengapa Pelayan Saya Menunjukkan 'Tidak dapat membaca data daripada sambungan pengangkutan: Sambungan sedia ada telah ditutup secara paksa oleh hos jauh'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!