Ошибка MyChat Server #70011: не удаётся занять основной TCP-порт MyChat Server
Ошибка
Ошибка #70011: не удаётся занять основной TCP-порт MyChat Server
Описание ошибки
При запуске MyChat Server «слушает» основной TCP-порт (по умолчанию 2004) — через него к серверу подключаются клиенты MyChat. Если этот порт уже занят другой программой, сервер запуститься не может и показывает сообщение:
Error #70011
Cannot bind 2004 TCP port, WINSOCK ERROR 10048
Код WINSOCK 10048 (WSAEADDRINUSE) означает "адрес уже используется".
Решение проблемы
Возможные варианты, почему так происходит:
- порт занят другим приложением (другой мессенджер, VPN, прокси, веб-сервер, антивирус);
- предыдущая копия MyChat Server ещё не выгрузилась из памяти — в "Диспетчере задач" висит процесс mcserv.exe;
- на компьютере случайно запущены две копии сервера;
- порт попал в зарезервированный системой диапазон (Hyper-V, WSL, служба winnat).
Как узнать, какая программа заняла порт?
Командная строка от имени администратора: Win+X, "Терминал Windows (Администратор). Выполните:
netstat -ano | findstr :2004
В последнем столбце будет PID процесса, по нему можно узнать, кто конкретно занял этот порт, например, через менеджер задач Windows (Ctrl+Shift+Esc).
Что делать?
- Решение 1 — освободить порт.
Закройте или остановите программу, которая заняла порт 2004, либо завершите зависший процесс mcserv.exe, после чего запустите сервер снова.
- Решение 2 — запустить сервер на другом, свободном порту
Укажите свободный порт ключом командной строки:
mcserv.exe /PORT=2005
Номер порта (2005 или любой другой свободный) сохраняется в настройках сервера, поэтому при следующих запусках ключ указывать уже не нужно.
На всех клиентах в настройках подключения укажите новый номер порта.
Откройте новый порт во входящих правилах брандмауэра Windows.
Ещё посмотреть