Я написал простейшее клиент-серверное приложение на основе классов TcpListener и TcpClient. В локальной сети всё работает нормально, но когда я включаю сервер на своём компьютере, а друг запускает клиент на своём компьютере, то выдаёт такую ошибку: "Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера"
PS: У меня статический ip, порты я открыл и на своём компьютере и на компьютере с клиентом.
//Код сервера
static void Main(string[] args)
{
Console.Write("Введите порт для прослушивания сервером: ");
string enteredPort = Console.ReadLine();
TcpListener tcpListener = null;
try
{
int port = Convert.ToInt32(enteredPort);
tcpListener = new TcpListener(IPAddress.Any ,port);
tcpListener.Start();
}
catch (FormatException)
{
Console.WriteLine("Неправильно введён ip или порт");
}
catch (SocketException)
{
Console.WriteLine("Ошибка подключения(((");
}
TcpClient tcpClient = tcpListener.AcceptTcpClient();
while (true)
{
if (tcpClient.Connected)
{
Console.WriteLine("Успех!!!");
}
}
}
//Код клиента
static void Main(string[] args)
{
Console.Write("Введите ip сервера: ");
string serverIp = Console.ReadLine();
Console.Write("Введите порт сервера: ");
string serverPort = Console.ReadLine();
var tcpClient = new TcpClient();
try
{
IPAddress iPAddress = IPAddress.Parse(serverIp);
int port = Convert.ToInt32(serverPort);
tcpClient.Connect(new IPEndPoint(iPAddress, port));
}
catch (FormatException)
{
Console.WriteLine("Неправильно введён ip или порт");
}
catch (SocketException ex)
{
Console.WriteLine("Ошибка подключения(((" + ex.Message);
}
while (true)
{
if (tcpClient.Connected)
{
Console.WriteLine("Успех!!!");
}
string ki = Console.ReadLine();
if (ki == string.Empty)
break;
}