Javascript Teamviewer与JNDI冲突-使用更高的端口号进行传出(win7)
Teamviewer使用本地端口1098(也是JNDI端口)建立了传出连接 我花了2个小时才意识到错误是什么,因为我专注于产生的异常,例如:Javascript Teamviewer与JNDI冲突-使用更高的端口号进行传出(win7),javascript,jndi,teamviewer,Javascript,Jndi,Teamviewer,Teamviewer使用本地端口1098(也是JNDI端口)建立了传出连接 我花了2个小时才意识到错误是什么,因为我专注于产生的异常,例如: Exception: javax.transaction.NotSupportedException: Cannot set transactional mode, error is setAutoCommit() is not allowed - use TransactionHelper instead javax.transaction.No
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
然后在taskmanager中查找PID
更新
这似乎更像是Windows7的问题。在windows vista及更高版本中:
遵守互联网分配号码管理局(IANA)
建议,Microsoft增加了动态客户端端口范围
用于Windows Vista和Windows Server 2008中的传出连接。
新的默认开始端口是49152,默认结束端口是49152
65535. 这是对早期版本Windows配置的更改,Windows使用默认端口范围1025到5000。
有没有办法修补windows 7以使用更高的端口号进行传出连接?
更新2
我的windows 7计算机确实在低端口限制下运行
C:\Windows\system32>netsh int ipv4 show dynamicport tcp
Protocol tcp Dynamic Port Range
---------------------------------
Start Port : 1025
Number of Ports : 64510
我从以下方面找到了答案:
您可以使用netsh命令调整此范围,如下所示:
将范围设置为以下值:
netsh int ipv4 set dynamicport tcp start=49152 num=16384
最后,即使临时端口应该是短期的,但teamviewer等应用程序可能会使用保持活动状态
请求并将端口保留更长的时间
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