Bagaimana Cara Memperbaiki 'Koneksi Yang Ada Dipaksa Ditutup oleh Kesalahan Remote Host'?

Komputer jarak jauh adalah komputer yang tidak memiliki kehadiran fisik; itu dapat diakses hanya melalui semacam jaringan komputer. Remote Host adalah komputer yang menampung jaringan yang meng-host komputer jarak jauh dan klien jarak jauh adalah pengguna klien jarak jauh di jaringan. Fitur ini telah merevolusi banyak proses dan memiliki cakupan yang besar di masa depan juga.

Koneksi yang Ada ditutup secara paksa oleh kesalahan host lokal

Namun, baru-baru ini, banyak laporan datang dari kesalahan " koneksi yang ada ditutup secara paksa oleh host jarak jauh " ketika mencoba untuk terhubung ke host jarak jauh. Kesalahan ini dipicu dengan koneksi soket antara klien dan server. Dalam artikel ini, kami akan memberikan beberapa solusi untuk memperbaiki kesalahan ini dan juga memberi tahu Anda alasan yang memicu kesalahan ini.

Apa yang menyebabkan kesalahan 'Koneksi yang ada ditutup secara paksa oleh host jarak jauh' di Windows?

Setelah menerima banyak laporan dari banyak pengguna, kami memutuskan untuk menyelidiki masalah ini dan menyusun serangkaian solusi untuk memperbaikinya. Juga, kami melihat alasan yang memicu dan mendaftar mereka di bawah ini.

  • Penggunaan TLS 1.1 / 1.0: Jika aplikasi ini berjalan pada TLS 1.1 atau TLS 1.0, itu mungkin memicu kesalahan ini karena mereka didepresiasi. TLS 1.2 adalah cara untuk pergi ketika memilih protokol yang digunakan aplikasi.
  • Kriptografi Dinonaktifkan: Jika Kriptografi telah dinonaktifkan untuk mesin Anda, itu akan mencegah penggunaan TLS 1.2 dan akan kembali pada TLS 1.0 yang mungkin memicu kesalahan.
  • Implementasi Soket: Dalam beberapa kasus, jenis implementasi soket tertentu memicu kesalahan. Ada bug dengan beberapa implementasi oleh aplikasi ".NET" dan mungkin menyebabkan kesalahan ini.
  • Kode Hilang: Untuk beberapa orang yang menggunakan Kerangka Entitas, diamati bahwa baris kode tertentu tidak ada karena kesalahan tersebut dipicu.
  • Kerangka kerja “.NET” yang kedaluwarsa: Dalam kasus tertentu, jika Kerangka “.NET” telah dinonaktifkan, kesalahan ini mungkin dipicu. Tugas tertentu memerlukan kerangka kerja “.NET” untuk diperbarui ke versi terbaru agar dapat berfungsi dengan baik.

Sekarang setelah Anda memiliki pemahaman dasar tentang sifat masalah, kami akan beralih ke solusi. Pastikan untuk menerapkannya dalam urutan tertentu untuk menghindari konflik.

Solusi 1: Mengaktifkan Kriptografi

Jika Kriptografi telah dinonaktifkan untuk mesin Anda, penggunaan TLS 1.2 dilarang. Karenanya, pada langkah ini, kami akan mengaktifkan Kriptografi. Untuk itu:

  1. Tekan " Windows " + " R " untuk membuka Run prompt.
  2. Ketik "regedit" dan tekan " Enter ".

    Mengetik "Regedit" dan menekan "Enter"
  3. Arahkan ke alamat berikut
     HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ v4.0.3031 

    Arahkan ke alamat ini jika tidak ada nilai " SchUseStrongCrypto " di panel kanan.

     HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ .NETFramework \ v4.0.30319 
  4. Di panel kanan, klik dua kali pada opsi " SchUseStrongCrypto " dan masukkan " 1 " sebagai data Value.

    Mengklik dua kali pada nilai "SchUseStrongCrypto" di panel kanan
  5. Klik " OK " untuk menyimpan perubahan Anda dan periksa untuk melihat apakah masalah berlanjut.

Solusi 2: Memaksa TLS 1.2 Penggunaan

Jika aplikasi telah dikonfigurasi untuk menggunakan TLS 1.1 atau TLS 1.0 dan bukan TLS 1.2, itu mungkin memicu kesalahan ini. Oleh karena itu, pada langkah ini, kita akan mengkonfigurasi komputer kita untuk menggunakan TLS 1.2. Untuk itu:

  1. Arahkan ke root situs dan klik kanan pada file "global.asax" .
  2. Pilih " Lihat Kode " dari daftar.
  3. Seharusnya ada metode " Application_Start ", tambahkan baris kode berikut ke metode itu
     if (ServicePointManager. SecurityProtocol. HasFlag (SecurityProtocolType. Tls12) == false) ServicePointManager. SecurityProtocol = ServicePointManager. Protokol Keamanan 

    Menambahkan baris ke kode
  4. Simpan perubahan Anda dan periksa untuk melihat apakah masalah berlanjut.

Solusi 3: Mengubah Implementasi Soket

Jika implementasi soket tertentu memiliki bug atau kesalahan di dalamnya, itu mungkin mencegah elemen-elemen tertentu dari aplikasi berfungsi dengan baik karena kesalahan ini mungkin dipicu. Oleh karena itu, pada langkah ini, kami akan mengonfigurasinya untuk menggunakan implementasi yang berbeda. Untuk itu:

  1. Pastikan Anda memiliki kelas " StateObjec t" dengan " byte publik [] buffer = byte baru [1024], soket Socket publik; “.
  2. Panggil fungsi " Terima (Soket) " dan panggil kode berikut dalam " membatalkan ReceiveCallback (IAsyncResult ar) "
      SocketError errorCode ; int nBytesRec = socket . EndReceive ( ar, out errorCode ); if ( errorCode != SocketError . Success ) { nBytesRec = 0 ; } 
  3. Periksa untuk melihat apakah masalah berlanjut setelah menerapkan kode ini.

Solusi 4: Menambahkan Baris Perintah (Hanya untuk Kerangka Entitas)

Jika Anda menggunakan Entity Framework, ada kemungkinan bahwa baris kode tertentu mungkin hilang. Oleh karena itu, pada langkah ini, kami akan menambahkan baris kode untuk memperbaiki masalah ini. Untuk itu:

  1. Buka file " .edmx " Anda dan buka file " .context.tt " di bawahnya.
  2. Buka file " .context.cs " dan tambahkan baris kode berikut ke konstruktor Anda
      public DBEntities () : base ( "name=DBEntities" ) { this . Configuration . ProxyCreationEnabled = false ; // ADD THIS LINE ! } 
  3. Periksa untuk melihat apakah masalah berlanjut setelah menambahkan baris kode ini.

Solusi 5: Memperbarui .NET Framework

Versi terbaru dari Kerangka ".NET" diperlukan agar semuanya berfungsi dengan lancar. Karenanya, pada langkah ini, kami akan mengunduh versi terbaru dari situs dan memasangnya. Untuk itu:

  1. Arahkan ke tautan ini untuk mengunduh pengaturan.
  2. Jalankan file " .exe " untuk memulai proses instalasi.

    Menjalankan executable yang diunduh dari Microsoft
  3. Ikuti petunjuk di layar untuk menginstal aplikasi di komputer Anda.
  4. Periksa untuk melihat apakah masalah berlanjut setelah menyelesaikan instalasi.

Artikel Menarik