2016-12-12 4 views
0

Я не уверен, что с моим кодом ниже что-то не так. Я просто пытаюсь подключиться к целевому IP-адресу, но он всегда генерирует исключение «Никакое соединение не может быть сделано, потому что целевая машина активно отказалась от него».Не удалось установить соединение с целевой машиной через TCP Client C#

Целевой клиентский компьютер не подключен к сети, поэтому он не может принять или отклонить соединение со стороны сервера. На сервере я хочу, чтобы он пытался подключиться к клиенту, пока он не подключен. Как-то это работает не так, как ожидалось.

Я думал, что причиной этого был антивирус или брандмауэр, поэтому я отключил их, но проблема по-прежнему. Кто-нибудь может проверить код и сообщить мне, почему он всегда бросает это исключение?

спасибо.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Net; 
using System.Net.Sockets; 
using System.Threading; 
using System.Windows.Forms; 

namespace Server 
{ 
    class Program 
    { 
     public static TcpClient client = new TcpClient(); 
     public static int port = 6446; 
     public static string connectTo = "192.168.0.11"; 

     static void Main(string[] args) 
     { 
      try 
      { 
       do 
       { 
        Console.WriteLine("Connecting..."); 
        IPAddress ipAddress = IPAddress.Parse(connectTo); 
        client.Connect(ipAddress, port); 

       } while (client.Connected != true); 
       //dataStream = client.GetStream(); 
       //getMessages.Start(); 
      } 
      catch (Exception ex) { MessageBox.Show(ex.ToString()); } 

     } 
    } 
} 

ответ

0

Это внутренний IP-адрес, и только вы или другие люди на них могут достичь его сегмент сети. Вы всегда можете попробовать ping или telnet для определенного порта. Telnet подключится, тайм-аут или скажет подключение.