2016-12-12 2 views
0

아래 코드에 문제가 있는지 잘 모르겠습니다. 난 그냥 대상 IP에 연결하려고하지만 그것은 항상 "대상 컴퓨터가 적극적으로 거부하기 때문에 연결할 수 없습니다"예외를 throw합니다.TCP 클라이언트를 통해 대상 컴퓨터에 연결할 수 없습니다. C#

대상 클라이언트 시스템이 온라인이 아니므로 서버 측의 연결을 허용하거나 거부 할 수 없습니다. 서버에서는 연결되어있는 클라이언트에 계속 연결하려고합니다. 어떻게 든 예상대로 작동하지 않습니다.

이유가 바이러스 백신 또는 방화벽으로 생각되어 사용하지 않도록 설정했지만 문제는 여전히 있습니다. 거기에 누구도 코드를 테스트 할 수 있고 왜 항상 그 예외를 throw 알려주시겠습니까?

감사합니다.

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)을 시도 할 수 있습니다. 텔넷이 연결되거나 시간 초과되거나 연결이 거부되었다고 말합니다.

관련 문제