2017-01-11 2 views
-1

Server.cs - https://hastebin.com/enajinewij.csTcp Только сервер Разрешение 1 Клиент

Client.cs - https://hastebin.com/iriperubur.cs

я пытался как работает клиент на другом компьютере и запустить его на одном компьютере, но как результат Клиента не имея возможности принимать или отправлять какие-либо сообщения.

I CANT portforward. Я использую Hamachi для IP-адреса. И клиент, и сервер подключены к моей сети и используют IP-адрес Hamachi. Я использую PDA Net для подключения к Интернету с моего ПК.

Сервер не видит их вообще подключенными. Сервер не получает от них никаких сообщений. В настоящее время только сервер может отправлять сообщения, и только он может их получить.

Я вообще не получаю никаких ошибок, поэтому я не уверен, как мне решать эту проблему, так как я впервые работаю с сетью.

+0

Оба ваших ссылкам на hastebin являются источником для 'класса под клиентом, но это нормально потому что вы действительно должны публиковать код здесь. Чтобы получить хорошие ответы, лучше спросить хороший вопрос и переполнение стека [эта статья: http://stackoverflow.com/help/how-to-ask](http://stackoverflow.com/help/how- чтобы спросить), чтобы помочь вам начать работу. – clarkitect

+0

Я не могу поместить код здесь, потому что это более 200 строк. Это было бы здорово. Также я не знаю, где проблема начинается и где она заканчивается. Я прочитал информацию о задании вопроса, и я чувствую, что это лучший способ предоставить код. – DOTCreeper

ответ

1

Сначала вы создаете TcpListener, и вы вызываете StartLis(), что делает BeginAcceptTcpClient. Однако в AcceptTCPClient вы создаете новыхTcpListener и BeginAcceptTcpClient не вызывается.

Вам не нужно создавать новый слушатель для каждого соединения, но вы должны позвонить BeginAcceptTcpclient снова:

private void AcceptTCPClient(IAsyncResult ar) 
{ 
    TcpListener Lis = (TcpListener)ar.AsyncState; 

    Clients.Add(new ServerClient(Lis.EndAcceptTcpClient(ar))); 

    StartLis(); // this will call BeginAcceptTcpClient again 
} 
+0

Огромное спасибо, работая, как шарм, предоставил мне достаточно информации, чтобы, надеюсь, мешать мне повторить это: D – DOTCreeper

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