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 запросы и удерживать порт в течение гораздо более длительного времени.

Другие вопросы по тегам