Ошибка 0x00002740: only one usage of each socket address
Добрый день! Уважаемые читатели IT портала Pyatilistnik.org. В прошлый раз мы с вами рассмотрели методы позволяющие протестировать загрузочную флешку перед работой, что порой очень обосновано. В сегодняшней публикации я вам покажу методы диагностики и траблшутинга при подключении к серверу 1С, где в ряде случаев я ловил ошибку 0x00002740 only one usage of each socket address. Думаю, что данный алгоритм действий будет полезен как начинающим, так уже и опытным администраторам. Давайте приступать.
Описание ошибки 0x00002740
Обратился ко мне один из разработчиков с вопросом не знаю ли я в чем может быть причина ошибки:
по причине:
Ошибка установки соединения
по причине:
server_addr=tcp://fqdn:port/ descr=ip-адрес:port:5555:10055(0x00002740): Only one usage of each socket address (protocol/network address/port) is normally permitted. ;
line=1002 file=D:\Jenkins\ci_builder\WindowsBuild2_XQV1CCIIPB0O\Platform\src\rtrsrvc\src\DataExchangeTcpClientImpl.cpp
Диагностика и устранение ошибки 0x00002740
Выше я специально выделил две ошибки 10055 и 10048, так как они многое могут рассказать, обратимся к сайту Microsoft:
- 1️⃣WSAEADDRINUSE 10048 - Адрес уже используется. - Как правило, разрешено использовать только один адрес сокета (протокол, IP-адрес или порт). Эта ошибка возникает, если приложение пытается привязать сокет к IP-адресу или порту, который уже использовался для существующего сокета, или сокета, который был закрыт неправильно, или тот, который все еще находится в процессе закрытия.
- 2️⃣WSAENOBUFS 10055- Буферное пространство недоступно. Не удалось выполнить операцию сокета, так как в системе недостаточно места в буфере или из-за переполнения очереди.
Понимая, что нет свободных сокетов можно двигаться дальше, мы кстати такое уже ловили, когда у нас просто останавливалась служба 1С, советую почитать. Открываем на сервере командную строку в режиме администратора и вводим команду:
В результате я увидел, что огромное количество динамических портов с 49152 по 65535 были заняты приложением от Касперского.
Если открыть просмотр событий и посмотреть логи, то была огромная куча ошибок ID 15005.
Так же можно увидеть, что многие программы ждут когда освободятся динамические порты, поэтому и соединения с сервером 1С, то были, то пропадали.
Так, что виновник найден. У вас варианты:
- Перезагрузиться и до настроить Касперского, чтобы он не создавал такое количество соединений
- Исключить определенные порты, чтобы их не занимали и отдать это программа, как мы делали с 1С, ссылка выше в середине статьи.
На этом у меня все, с вами был Иван Сёмин, автор и создатель IT портала Pyatilistnik.org.