Я работаю над простым сервером приложений TCP/IP для приветствия в C# и не могу подключить моего клиента. Может ли кто-нибудь предложить какие-либо дополнительные шаги по устранению неполадок? Я начинаю бежать из идей ...Невозможно установить соединение, потому что целевая машина активно отказывается от него
Вот соответствующие разделы кода:
сервер:
Console.Out.WriteLine("About to bind address");
IPAddress ipAd = IPAddress.Parse("127.0.0.1");
Console.Out.WriteLine("Choose a port to bind...");
String port = Console.In.ReadLine();
int iPort = Int32.Parse(port);
TcpListener myList = new TcpListener(ipAd, iPort);
myList.Start();
Console.WriteLine("The server is running at: "+myList.LocalEndpoint);
Console.WriteLine("Waiting for a connection.....");
Socket s = myList.AcceptSocket();
Console.WriteLine("Connection accepted from " + s.RemoteEndPoint);
клиент:
Console.Out.WriteLine("enter address: ");
string address = Console.In.ReadLine();
Console.Out.WriteLine("enter port: ");
int port = Convert.ToInt32(Console.In.ReadLine());
TcpClient tcpclnt = new TcpClient();
Console.WriteLine("Connecting.....");
Console.Out.WriteLine("Address: " + address + ":" + port);
tcpclnt.Connect(address, port);
Я в состоянии ping сервер с клиентской машины, однако я не могу подключиться к серверу с помощью связанного порта. Я пробовал различные порты (несколько в низких 8000 и несколько около 40000). Я отключил брандмауэр Windows на обеих системах. Системы подключены к маршрутизатору, который не находится в Интернете. Я пробовал с и без переадресации портов, чтобы перенаправлять входящие запросы на данный порт на серверную машину без эффекта.
Единственное исключение, которое я был в состоянии улавливать выбрасывается клиентом:
Нет соединения может быть сделано, потому что целевая машина активно отказывается это.
Я проверил на InnerException
, но кажется, что их нет - это базовое исключение. Может быть, это правильно?
Не уверен, что еще я должен смотреть - любые дополнительные шаги по устранению неполадок были бы полезными.
Спасибо!
Я должен был просто попросить вас, в первую очередь, - это сделал трюк. любая идея, почему это имеет значение? –
Ваша машина сидит в нескольких IP-сетях одновременно, в вашем случае, loopback и локальная сеть. Вы явно просили только прослушать 127.0.0.1, и единственный аппарат на 127.0.0.1/32 принадлежит вам. Машина могла подключаться к себе (через 127.0.0.1/32), но никто другой не мог. – Coincoin