Rumah > pembangunan bahagian belakang > C++ > Mengapa Pelayan TCP Saya Menunjukkan 'Tidak Dapat Membaca Data daripada Sambungan Pengangkutan,' dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Pelayan TCP Saya Menunjukkan 'Tidak Dapat Membaca Data daripada Sambungan Pengangkutan,' dan Bagaimana Saya Boleh Membetulkannya?

Patricia Arquette
Lepaskan: 2025-01-20 06:31:13
asal
458 orang telah melayarinya

Why Does My TCP Server Show

Menyelesaikan masalah "Tidak Dapat Membaca Data daripada Sambungan Pengangkutan" dalam Pelayan TCP

Pelayan TCP kadangkala menghadapi ralat "Tidak dapat membaca data daripada sambungan pengangkutan: Sambungan sedia ada telah ditutup secara paksa oleh hos jauh" apabila pelanggan cuba menyambung. Artikel ini meneroka punca biasa dan menyediakan penyelesaian.

Ralat, sering muncul di sekitar baris 96 (dalam contoh kod pelayan yang disediakan) semasa sr.ReadLine(), selalunya berpunca daripada salah konfigurasi keselamatan peringkat pengangkutan.

Kesesuaian Jabat Tangan TLS dan Protokol Keselamatan

Ketakpadanan dalam versi protokol TLS antara klien dan pelayan semasa jabat tangan SSL/TLS adalah punca utama ralat ini. Harta System.Net.ServicePointManager.SecurityProtocol adalah kunci untuk menyelesaikan masalah ini.

Walaupun .NET biasanya merundingkan versi TLS secara automatik, ketidakkonsistenan antara keupayaan pelanggan dan pelayan boleh menyebabkan kegagalan jabat tangan dan mesej ralat.

Penyelesaian: Menetapkan Protokol Keselamatan Secara Eksplisit

Untuk memastikan keserasian, tentukan secara eksplisit versi TLS yang disokong menggunakan sifat SecurityProtocol. Tambahkan baris ini sebelum mewujudkan sambungan:

<code class="language-csharp">System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;</code>
Salin selepas log masuk

Coretan kod ini mendayakan sokongan untuk TLS 1.0, 1.1 dan 1.2. Padanan versi TLS pada kedua-dua klien dan pelayan menjamin jabat tangan yang berjaya, membolehkan pelayan membaca data daripada klien tanpa gangguan.

Atas ialah kandungan terperinci Mengapa Pelayan TCP Saya Menunjukkan 'Tidak Dapat Membaca Data daripada Sambungan Pengangkutan,' dan Bagaimana Saya Boleh Membetulkannya?. 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