Не удалось установить соединение, т. к. конечный компьютер отверг запрос на .Чистое Программирование сокетов приложения Windows
Привет,
No connection could be made because the target machine actively refused it in .net socket programming windows application
Я хочу перенести zip-файл на локальный сервер,но он получает ошибку.
Как решить эту проблему?
Пожалуйста, помогите мне.
заранее спасибо.
Анкит Агарвал
инженер-программист
Что я уже пробовал:
private void btnBrowse_Click_1(object sender, EventArgs e) { FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog(); if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) TextBoxValue = folderBrowserDialog1.SelectedPath; int count = panel1.Controls.OfType<Label>().ToList().Count; TextBox textbox = new TextBox(); count = panel1.Controls.OfType<TextBox>().ToList().Count; textbox.Location = new Point(3, 25 * count); textbox.Size = new Size(188, 20); textbox.Name = "textbox_" + (count + 1); textbox.Text = TextBoxValue; arrayList.Add(TextBoxValue); //textbox.TextChanged += new System.EventHandler(this.TextBox_Changed); panel1.Controls.Add(textbox); } private void btnBackup_Click(object sender, EventArgs e) { //int count = panel1.Controls.OfType<Label>().ToList().Count; try { string ipAddress = txtIP.Text; int port = int.Parse(txtPort.Text); for (int i = 0; i < arrayList.Count; i++) { using (Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile()) { zip.AddDirectory(arrayList[i].ToString()); //zip.Save(@"D:\abc" + "_" + (i + 1) + ".zip"); //zip.Save(@"D:\abc" + "_" + (i + 1) + ".zip"); fileName = @"D:\abc" + "_" + (i + 1) + ".zip"; Task.Factory.StartNew(() => SendFile(ipAddress, port, fileName, shortFileName)); MessageBox.Show("Files zipped"); } } } catch (Ionic.Zip.ZipException ex) { MessageBox.Show(ex.Message); } if (checkBox1.Checked == true) { var psi = new ProcessStartInfo("shutdown", "/s /t 0"); psi.CreateNoWindow = true; psi.UseShellExecute = false; Process.Start(psi); //ProcessStartInfo startinfo = new ProcessStartInfo("shutdown.exe", "-s"); //Process.Start(startinfo); } } public void SendFile(string remoteHostIP, int remoteHostPort, string longFileName, string shortFileName) { try { if (!string.IsNullOrEmpty(remoteHostIP)) { byte[] fileNameByte = Encoding.ASCII.GetBytes(shortFileName); byte[] fileData = File.ReadAllBytes(longFileName); byte[] clientData = new byte[4 + fileNameByte.Length + fileData.Length]; byte[] fileNameLen = BitConverter.GetBytes(fileNameByte.Length); fileNameLen.CopyTo(clientData, 0); fileNameByte.CopyTo(clientData, 4); fileData.CopyTo(clientData, 4 + fileNameByte.Length); TcpClient clientSocket = new TcpClient(remoteHostIP,remoteHostPort); // Error in this line. NetworkStream networkStream = clientSocket.GetStream(); networkStream.Write(clientData, 0, clientData.GetLength(0)); networkStream.Close(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
ZurdoDev
Это потому, что ничто не прослушивает порт, в который вы пытаетесь отправить сообщение. Или у вас есть брандмауэр, блокирующий его, или что-то еще. Не знаю, чего вы от нас хотите.
Agarwal1984
мой антивирус отключен, а брандмауэр уже заблокирован.
[no name]
https://www.google.com/search?q=No+connection+could+be+made+because+the+target+machine+actively+refused+it+in+.net+socket+programming+windows+application&oq=No+connection+could+be+made+because+the+target+machine+actively+refused+it+in+.net+socket+programming+windows+application