2013-09-16 5 views
0

Мой друг работает простое приложение C# консоли, которая запускает TcpListener на порт 8484. Это, как это делается:TcpListener и гнездо не удается установить соединение

public static void Listen() 
{ 
    Listener = new TcpListener(IPAddress.Any, 8484); 
    Listener.Start(); 
    Listener.BeginAcceptSocket(new AsyncCallback(EndAccept), null); 
} 

public static void EndAccept(IAsyncResult IAR) 
{ 
    Console.WriteLine("Connection accepted on Port 8484."); 
    Socket socket = Listener.EndAcceptSocket(IAR); 
    Instance = new Client(socket); 
    Listener.Stop(); 
    Listener = null; 
} 

подключиться к нему с помощью:

public void Connect() 
{ 
    _socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 
    try 
    { 
     _socket.Connect(IP, Port); 

     Debug.WriteLine("Connected with server!"); 
    } 
    catch (Exception ex) 
    { 
     Debug.WriteLine(TypeName + " [ERROR] Could not connect to server @ {0}:{1}: {2}", IP, Port, ex.Message); 
    } 
} 

Однако по какой-то причине он не может принять соединение, он говорит, что он не отвечает. Порт 8484 открыт на своем компьютере на 100%.

Почему это происходит?

+0

порт 8484 открыт в вашей сети? –

+0

Где мой друг? В Интернете WAN или LAN? –

+0

@DiegoCNascimento WAN. И да, порт открыт. – user2714359

ответ

0

Используйте telnet для проверки подключения к удаленному серверу. Например. выполните команду «telnet ip_address port». Если он успешно подключится, вы можете связаться с сервером. Если telnet не может подключиться, вы не сможете связаться с сервером, вероятно, из-за проблемы с брандмауэром.

+0

Что делать, если на удаленном хосте нет сервера Telnet в Windows? Будет ли он работать? – user2714359

+0

Он хочет подключиться к вашему серверу, а не к серверу Windows Telnet. В любом случае, это не похоже на проблему с брандмауэром, если пользователь прав в своем утверждении, но проблема с NAT. –

+0

@DiegoCNascimento Ну, он сказал, что не может подключиться. – user2714359

0

Попробуйте отключить брандмауэр.


1 - Помогал пользователя в чате, чтобы проверить проблемы брандмауэра, и она не открыта. У этой проблемы есть

Смежные вопросы