ฉันใช้ไลบรารี C# FtpClient เพื่ออัปโหลดไฟล์ การเชื่อมต่อถูกสร้างขึ้นหลังจากที่ฉันตั้งค่าพอร์ตแบบกำหนดเอง 3072 เพราะฉันตั้งค่า client.SslProtocols = System.Security.Authentication.SslProtocols.Tls12
;
แต่เมื่อฉันจะผ่านไปได้
client.GetFilePermissions("/Test.txt");
client.UploadFile(@"C:\Users\Desktop\Test.txt", "/Test.txt");
มันจะแสดงข้อยกเว้นเสมอ
ไม่สามารถอ่านข้อมูลจากการเชื่อมต่อการขนส่ง: มีความพยายามในการเข้าถึงซ็อกเก็ตในลักษณะที่ถูกห้ามโดยสิทธิ์การเข้าถึง
หากฉันปิด Windows Firewall ไฟล์ก็สามารถอัปโหลดได้สำเร็จ
ฉันต้องการทราบว่าฉันควรตั้งค่านโยบายใดบนไฟร์วอลล์ Windows เพื่อให้ฉันสัมผัสไฟล์ระยะไกลและอัปโหลดได้
การตั้งค่าไฟร์วอลล์ของฉันในปัจจุบัน:
(ขาเข้า)
พอร์ตท้องถิ่น 3072,80,20,21,1023
พอร์ตระยะไกล 3072,80,20,21,1023(ขาออก)
พอร์ตท้องถิ่น 3072,80,20,21,1023
พอร์ตระยะไกล 3072,80,20,21,1023
รหัสที่สมบูรณ์ของฉัน
FtpClient client = new FtpClient();
client.Host = "xx.xx.xx.xx";
client.Credentials = new NetworkCredential(UserName, Password);
client.SslProtocols = System.Security.Authentication.SslProtocols.Tls12;
client.Connect();
if (client.IsConnected)
{
Console.WriteLine("Connected");
client.DataConnectionEncryption = true;
var resutl = client.GetFilePermissions("/Test.txt");
client.UploadFile(@"C:\Users\Desktop\Test.txt", "/Test.txt");
}
else
{
Console.WriteLine("No Connetion");
}
SslProtocols.Tls12
คืออะไร ไปยังพอร์ต 3072? - person Martin Prikryl   schedule 23.06.2017Tls12
องค์ประกอบของการแจงนับSecurityProtocolType
! - person Martin Prikryl   schedule 23.06.2017