Teamviewer конфликтует с JNDI - используйте более высокие номера портов для исходящих (win7)
Teamviewer установил исходящее соединение, используя локальный порт 1098, который также является портом JNDI.
Я потратил 2 часа, пока не понял, что это за ошибка, потому что я сосредоточился на возникающих исключениях, например:
Exception: javax.transaction.NotSupportedException: Cannot set transactional mode, error is setAutoCommit() is not allowed - use TransactionHelper instead
javax.transaction.NotSupportedException:
Cannot set transactional mode, error is setAutoCommit() is not allowed - use TransactionHelper instead
at daoframework.daofactory.transactions.LocalUserTransaction.begin(LocalUserTransaction.java:78)
Есть ли способ заблокировать TeamViewer от использования этого порта?
Найдено с помощью:
$ netstat -aon | grep 1098
TCP XX.XXX.XX.XX:1098 XXX.XX.XXX.XXX:80 ESTABLISHED 2596
А затем поиск PID в диспетчере задач.
Обновить
Кажется, это больше проблема Windows 7. В Windows Vista и за ее пределами:
Чтобы соответствовать рекомендациям IANA, компания Microsoft увеличила диапазон динамических клиентских портов для исходящих подключений в Windows Vista и Windows Server 2008. Новый начальный порт по умолчанию - 49152, а конечный порт по умолчанию - 65535. Это изменение конфигурации более ранних версий Windows, которые использовали диапазон портов по умолчанию от 1025 до 5000.
Есть ли способ исправить Windows 7, чтобы использовать более высокие номера портов для исходящих соединений?
Update2
Моя машина с Windows 7 действительно работала с низким портом порта.
C:\Windows\system32>netsh int ipv4 show dynamicport tcp
Protocol tcp Dynamic Port Range
---------------------------------
Start Port : 1025
Number of Ports : 64510
1 ответ
Я нашел ответ от: https://support.microsoft.com/en-us/kb/929851
Вы можете настроить этот диапазон с помощью команды netsh следующим образом:
netsh int <ipv4|ipv6> set dynamic <tcp|udp> start=number num=range
Эта команда устанавливает динамический диапазон портов для TCP. Начальный порт - это номер, а общее количество портов - это диапазон. Ниже приведены примеры команд:
netsh int ipv4 set dynamicport tcp start=10000 num=1000 netsh int ipv4 set dynamicport udp start=10000 num=1000 netsh int ipv6 set dynamicport tcp start=10000 num=1000 netsh int ipv6 set dynamicport udp start=10000 num=1000
Установите диапазон на следующее:
netsh int ipv4 set dynamicport tcp start=49152 num=16384
Наконец, хотя временные порты должны быть недолговечными, такое приложение, как teamviewer, может использовать keep-alive
запросы и удерживать порт в течение гораздо более длительного времени.