ขณะพยายามเชื่อมต่อกับโฮสต์ระยะไกลที่ระบุจากเครือข่ายของคุณ คุณอาจเห็นข้อความแสดงข้อผิดพลาด 'การเชื่อมต่อที่มีอยู่ถูกบังคับปิดโดยโฮสต์ระยะไกล' ปัญหานี้มักเกิดขึ้นเนื่องจากปัญหาการเชื่อมต่อซ็อกเก็ตระหว่างระบบไคลเอ็นต์และระบบเซิร์ฟเวอร์ หากคุณกำลังมองหาวิธีแก้ไขปัญหานี้ เพียงทำตามวิธีแก้ไขปัญหาง่าย ๆ เหล่านี้เพื่อค้นหาวิธีแก้ไขที่เป็นไปได้ในเวลาไม่นาน
วิธีแก้ปัญหา
1. ปิดใช้งานโปรแกรมป้องกันไวรัสบนคอมพิวเตอร์ของคุณแล้วตรวจสอบอีกครั้ง
แก้ไข 1 – กำหนดการตั้งค่าขั้นสูงของ Java
ผู้ใช้หลายคนรายงานว่าปัญหาเกี่ยวข้องกับ Java SDK บนคอมพิวเตอร์ของตน
1. พิมพ์ 'แผงควบคุม' ในช่องค้นหา
2. หลังจากนั้นให้คลิกที่ปุ่ม “แผงควบคุม” ในผลการค้นหา
3. ในแผงควบคุม คลิกที่ดรอปดาวน์ข้าง 'ดูโดย:‘.
4. จากนั้นคุณต้องเลือก“ไอคอนขนาดเล็ก” ตัวเลือก
5. ตอนนี้คุณต้องคลิกที่ "Java” เพื่อเปิด Java Configure
6. จากนั้นคลิกที่ปุ่ม “ขั้นสูงแท็บ”
7. หลังจากนี้ ให้ทำเครื่องหมายที่ช่อง “เปิดใช้งานสภาพแวดล้อมที่จำกัดของระบบปฏิบัติการ (แซนด์บ็อกซ์ดั้งเดิม)“.
8. หลังจากนี้ให้คลิกที่ “สมัคร” แล้วก็ต่อ “ตกลง“.
ปิดหน้าต่างแผงควบคุม
ขั้นตอน – 2 เรียกใช้ SFC บนไฟล์ Ieframe
1. เมื่อคุณเปลี่ยนการตั้งค่า Java ให้พิมพ์ “cmd” ในแถบเมนู
2. หลังจากนั้นให้คลิกขวาที่ “พร้อมรับคำสั่ง” และคลิกที่ “เรียกใช้ในฐานะผู้ดูแลระบบ“.
3. จากนั้นพิมพ์คำสั่งเหล่านี้แล้วกด ป้อน เพื่อดำเนินการตามลำดับ
พรอมต์ sfc /scanfile=c:\windows\system32\ieframe.dll sfc /verifyfile=c:\windows\system32\ieframe.dll
รศ
ปิดหน้าต่างพรอมต์คำสั่ง
เริ่มต้นใหม่ ระบบของคุณและตรวจสอบว่าใช้งานได้หรือไม่
แก้ไข 2 – เปิดใช้งานบริการการเข้ารหัสบนระบบของคุณ
การเปิดใช้งานบริการเข้ารหัสควรแก้ไขปัญหาได้
คำเตือน – Registry Editor เป็นตำแหน่งที่ละเอียดอ่อนมากในคอมพิวเตอร์ของคุณ ก่อนดำเนินการแก้ไขหลัก เราขอสำรองข้อมูลรีจิสทรีในคอมพิวเตอร์ของคุณ
หลังจากเปิด Registry Editor ให้คลิกที่ “ไฟล์“. จากนั้นคลิกที่ “ส่งออก” เพื่อทำการสำรองข้อมูลใหม่บนคอมพิวเตอร์ของคุณ
1. พิมพ์ “regedit” ในช่องค้นหา
2. จากนั้นคลิกที่ปุ่ม “ตัวแก้ไขรีจิสทรี” เพื่อเข้าถึง
3. จากนั้นไปที่ตำแหน่งรีจิสทรีนี้ -
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.3031
4. ตรวจสอบว่ามีคีย์ชื่อ “SchUseStrongCrypto“.
5. หากไม่มีคีย์ 'SchUseStrongCrypto' ให้ไปที่ส่วนนี้ใน Registry Editor-
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319
6. แล้ว ดับเบิลคลิก บน "SchUseStrongCrypto“.
7. ในหน้าต่าง Edit Value ให้ตั้งค่าข้อมูลเป็น “1“.
8. คลิกที่ "ตกลง” เพื่อบันทึกการเปลี่ยนแปลงในระบบของคุณ
ปิดหน้าต่างตัวแก้ไขรีจิสทรี
เริ่มต้นใหม่ คอมพิวเตอร์ของคุณและตรวจสอบว่าการแก้ไขนั้นใช้ได้ผลสำหรับคุณหรือไม่
แก้ไข 3 – บังคับการใช้งาน TLS 1.2
ในกรณีที่คุณมีแอปพลิเคชันพร้อมใช้ TLS 1.0 หรือ TLS 1.1 แทนที่จะเป็นเวอร์ชัน TLS 1.2 ข้อความแสดงข้อผิดพลาดนี้อาจปรากฏขึ้น
ในการแก้ไขปัญหา คุณอาจต้องแก้ไขซอร์สโค้ดของแอปพลิเคชันเฉพาะในเทอร์มินัล
1. ไปที่ตำแหน่งรูทของแอปพลิเคชันและคลิกขวาที่ "global.asax” ไฟล์
2. คลิกที่ "ดูรหัส” เพื่อวิเคราะห์ซอร์สโค้ด
3. ในรหัสควรมี“Application_Start” ส่วน
เพียงคัดลอกและวางบรรทัดต่อไปนี้ในส่วน
ถ้า (ServicePointManager. โปรโตคอลความปลอดภัย HasFlag (ความปลอดภัยโปรโตคอลประเภท. Tls12) == เท็จ) { ServicePointManager. SecurityProtocol = ServicePointManager SecurityProtocol | ประเภทโปรโตคอลความปลอดภัย Tls12; }
จากนั้นบันทึกรหัสและเรียกใช้แอปพลิเคชันอีกครั้ง หากไม่ได้ผล ให้ลองเปลี่ยนการใช้งานซ็อกเก็ตในโปรแกรมของคุณ
แก้ไข 4 – แก้ไขการใช้งานซ็อกเก็ต
เปลี่ยนการใช้งานซ็อกเก็ตควรได้ผลสำหรับคุณ
1. ขั้นแรกตรวจสอบรหัสเพื่อให้แน่ใจว่ามี “StateObject” ชั้นเรียนพร้อมกับ “ไบต์สาธารณะ [] บัฟเฟอร์ = ไบต์ใหม่ [1024] ซ็อกเก็ตซ็อกเก็ตสาธารณะ“.
2. หลังจากนั้นคุณต้องเรียกใช้ฟังก์ชันเดียว “รับ (ซ็อกเก็ต s)” ใน จากนั้นให้เรียกรหัสนี้ว่า “เป็นโมฆะ ReceiveCallback (IAsyncResult ar)“.
รหัสข้อผิดพลาด SocketError; int nBytesRec = ซ็อกเก็ต EndReceive (ar, ออก errorCode); ถ้า (errorCode != SocketError. ความสำเร็จ) { nBytesRec = 0; }
ตรวจสอบว่าสิ่งนี้ช่วยสถานการณ์ได้หรือไม่
แก้ไข 5 – เพิ่มบรรทัดที่ขาดหายไปในบรรทัดคำสั่ง
[สำหรับเท่านั้น กรอบองค์กรENT ผู้ใช้]
ในกรณีที่คุณกำลังพัฒนาโดยใช้ Entity Framework มีโอกาสที่คุณจะพลาดโค้ดเล็กน้อย
1. ตอนแรกเปิดตัว “.edmx” ไฟล์ หลังจากนั้นให้เปิด “บริบท.tt” ไฟล์
2. ถัดไป เข้าไปที่ “บริบท.cs” และเพิ่มบรรทัดเหล่านี้ลงในโค้ดของคุณ
DBentities สาธารณะ(): base("name=DBentities") { this. การกำหนดค่า ProxyCreationEnabled = เท็จ; // เพิ่มบรรทัดนี้! }
ตอนนี้ตรวจสอบว่าใช้งานได้หรือไม่
แก้ไข 6 – ติดตั้ง Java SE. ใหม่
คุณสามารถถอนการติดตั้ง Java SE จากคอมพิวเตอร์ของคุณ และติดตั้งเวอร์ชันล่าสุดใหม่อีกครั้ง
ขั้นตอน – 1 ถอนการติดตั้ง Java SE
1. กด ปุ่ม Windows+R.
2. ใน วิ่ง หน้าต่างเขียนแล้วกด ป้อน.
appwiz.cpl
ซึ่งจะเป็นการเปิดหน้าต่างโปรแกรมและคุณลักษณะ
3. ตรวจสอบรายชื่อแอปพลิเคชันสำหรับ "ชุดพัฒนา Java SE“.
3. แล้ว คลิกขวา บนแอปพลิเคชันที่ระบุแล้วคลิกที่ “ถอนการติดตั้ง“.
หากต้องการถอนการติดตั้ง Java จากอุปกรณ์ของคุณ ให้คลิกที่ “ใช่“.
วิธีนี้คุณได้ถอนการติดตั้ง Java SE จากอุปกรณ์ของคุณ
เสร็จแล้วปิด close โปรแกรมและคุณสมบัติ หน้าต่าง.
เริ่มต้นใหม่ คอมพิวเตอร์ของคุณ.
ขั้นตอน – 2 ติดตั้ง Java SE. ล่าสุด
ตอนนี้ คุณต้องติดตั้ง Java เวอร์ชันล่าสุดบนคอมพิวเตอร์ของคุณ
1. ไปที่ส่วนดาวน์โหลด Java SE นี้
2. เพียงคลิกที่ “JDK ดาวน์โหลด“.
3. หลังจากดาวน์โหลดการตั้งค่า วิ่ง การตั้งค่าในระบบของคุณ
รอให้กระบวนการติดตั้งสิ้นสุดลง
ตรวจสอบว่าการแก้ไขนี้ใช้ได้ผลสำหรับคุณหรือไม่
แก้ไข 7 – ล้างแคช DNS
มีโอกาสที่การเชื่อมต่อจะถูกรบกวนเนื่องจากแคช DNS ที่กำหนดค่าไม่ถูกต้อง
1. กด ปุ่ม Windows+S. พิมพ์ “cmd“.
2. คลิกขวาที่ “พร้อมรับคำสั่ง” จากนั้นคลิกที่ “เรียกใช้ในฐานะผู้ดูแลระบบ” เพื่อเข้าถึงเทอร์มินัล CMD
3. เมื่อเทอร์มินัลเปิดขึ้น ให้พิมพ์รหัสนี้แล้วกด ป้อน.
ipconfig/ flushdns
การดำเนินการนี้จะล้างแคช DNS ในระบบของคุณ เริ่มต้นใหม่ เราเตอร์และตรวจสอบว่าใช้งานได้หรือไม่
ปัญหาของคุณควรได้รับการแก้ไข
เคล็ดลับทางเลือก–
1. บางทีข้อมูลที่คุณกำลังส่งไปยังแอปพลิเคชันอาจผิดเพี้ยน
2. แอปพลิเคชันไคลเอ็นต์ใช้ทรัพยากรที่มีอยู่จนหมด