Ошибка

Сетевая ошибка 10060: "Connection timed out"

 

Описание ошибки

Клиентская сторона не получила ответ от сервера в течение отведённого времени, обычно при попытке установить TCP-соединение. Частые причины:


1. Удалённый сервер не доступен:

  • сервер не включен, не слушает нужный порт, или отвечает слишком медленно;
  • указан неправильный IP адрес сервера, доменное имя или порт для подключения;
  • вы подключаетесь по IPv6 адресу, а сервер работает по IPv4 или наоборот;
  • приложение на сервере может быть "зависшим" или упало.


2. Потеря соединения:

  • нет соединения с сетью (не подключен или неисправен сетевой кабель или Wi-Fi);
  • качество линии связи очень плохое и клиент не успевает "достучаться" до сервера приемлемое время.


3. Мешает брандмауэр, антивирус, VPN, NAT или прокси

  • ваши попытки подключения блокирует антивирус или брандмауэр, порт заблокирован (локальный, удалённый или между ними);
  • некоторые провайдеры фильтруют порты (очень часто, например, 25 для SMTP);
  • антивирус ошибочно "влезает" в трафик между клиентом и сервером и "ломает" его.


4. Проблемы маршрутизации:

  • вы пытаетесь подключиться к адресу, недоступному из вашей сети (ошибки роутинга);
  • пакеты "теряются" по дороге, хотя сервер доступен;
  • внутренние DNS-разрешения ссылаются на IP, который недоступен из текущей сети.


Решение проблемы

1. Запустите cmd.exe

 

Откройте консоль. Меню "Пуск", "Выполнить" (или Win+R), и запустите cmd:

 

Запуск консоли Windows (cmd.exe)

 


2. Проверьте доступность компьютера сервера.


Попробуйте ping <адрес_сервера> или tracert <хост_сервера>:

 

Вы понение команды ping в консоли Windows

 

Если связь есть, переходим к следующему пункту, если нет (пишется "Превышен интервал ожидания для запроса") — проверяем, включен ли MyChat сервер и доступен ли компьютер по сети. Также стоит проверить физическое подключение вашего компьютера и компьютера с MyChat Server к сети. Если есть потери пакетов, также обратите на это внимание, это может быть из-за плохой связи (медленный канал, нестабильное соединение через спутник, проблемы в сети с неправильно работающим оборудованием или драйверами).


Если есть потери пакетов, то запустите ping <server_address> -t -l 1024. Протестируйте соединение пакетами по одному килобайту в течение хотя бы нескольких минут.

 

3. Проверяем подключение к серверу с помощью Telnet Client


По умолчанию в системе он не установлен, поэтому нужно установить Telnet Client через командную строку (работает в Windows 10, 11 и Windows Server): dism /online /Enable-Feature /FeatureName:TelnetClient (повышенных привилегий не требуется).


Либо через стандартный апплет "Программы и компоненты" — "Включение или отключение компонентов Windows":

 

Поиск установленного Telnet Client в Windows

 

Ищем его в списке и устанавливаем:

 

Установка Telnet Client в Windows



По умолчанию MyChat Server использует 2004 TCP порт, поэтому выполняем:


telnet <ip_mychat_сервера> 2004

 

Если ответа нету (выдало ошибку соединения):

 

Выпонение telnet в консоли Windows

 

Это означает, что неверно сконфигурирован роутер, либо файрвол, либо порт 2004 заблокирован антивирусом (на сервере, на клиентском компьютере или где-то между ними, если маршрутизация сложная).

 

Обычно в этих случаях проблема решается добавлением MyChat Client и MyChat Server в исключения файрвола (брандмауэра) и антивируса. Либо, для теста, можно попробовать временно отключить фаервол. Особенно это критично на серверной стороне — Windows Defender часто блокирует слушающие порты. 


Стандартный список портов, которые использует MyChat.



4. Убедитесь, что сервер слушает именно этот порт.


На сервере нужно выполнить в консоли netstat -an | find ":2004" — должен быть статус LISTENING.


Также проверьте, что IP-адрес и порт, к которым подключается клиент, те же самые, что слушает сервер (bind). Также проверьте, что в сетевых настройках MyChat Server стоит "слушать все" (listen all), потому что если вы поставите там один сетевой интерфейс, а будете подключаться на другой, из другой подсети, соединение не будет работать. По умолчанию сервер слушает все доступные локальные сетевые интерфейсы:


Список доступных сетевых интерфейсов MyChat Server и выбор, кого нужно слушать