2016-03-31 2 views
0

После некоторого исследования мне почти удалось получить программу для подключения к другому ПК с использованием TCP.C# TCP, подключающийся к компьютеру

Я сделал 2 программы:

  1. один для подключения и

  2. один получить который идет на другом компьютере, если это имеет смысл.

Я не уверен, что я использую свой публичный IP-адрес для подключения, но он не работает.

Я не уверен, что это программа или неправильный IP-адрес.

Так вот код программы, которая соединяется.

public static bool IsConnected; 
    public static NetworkStream Writer; 

    static void Main(string[] args) 
    { 
     Console.Title = "Offline"; 
     TcpClient Connector = new TcpClient(); 

    GetConnection: 

     Console.WriteLine("Enter server IP :"); 
     string IP = Console.ReadLine(); 

     try 
     { 
      Connector.Connect(IP, 2001); 
      IsConnected = true; 
      Console.Title = "Online"; 
      Writer = Connector.GetStream(); 
     } 
     catch 
     { 
      Console.WriteLine("Error connecting to target server! Press any key to try again."); 
      Console.ReadKey(); 
      Console.Clear(); 
      goto GetConnection; 
     } 

Сво консольное приложение, где я просто ввести адрес внутрибрюшинно и он говорит мне, если его подключен или нет,

Он использует порт 2001, как и в приемнике, когда код, который находится ниже.

public static NetworkStream Receiver; 
    [DllImport("kernel32.dll")] 

    static void Main(string[] args) 
    { 
     FreeConsole(); 

     TcpListener l = new TcpListener (2001); 

     l.Start(); 
     TcpClient Connection = l.AcceptTcpClient(); 
     Receiver = Connection.GetStream(); 
    } 

Если у кого есть какие-либо идеи относительно того, почему он не связывает его appriciated

+0

Там все виды причин, почему она не может подключения. Можете ли вы пинговать IP-адрес с одной машины на другую? –

+0

ну его же ip-адрес, потому что его мой другой компьютер, но я могу попробовать это – Will

+0

У вас есть две разные машины с одинаковым адресом ip? Это не сработает. –

ответ

1

Я использовал адрес IP публики вместо адреса ipv4

+0

Обычно 'Public IP == IPv4'. IPv4 - это просто версия интернет-протокола версии 4_, она может быть как публичной, так и частной. :) –