Teamviewer は、JNDI ポートでもあるローカル ポート 1098 を使用して発信接続を確立しました。
結果の例外に焦点を合わせていたため、エラーが何であるかを理解するまでに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 以降の場合:
Internet Assigned Numbers Authority (IANA) の推奨事項に準拠するために、Microsoft は Windows Vista および Windows Server 2008 での発信接続の動的クライアント ポート範囲を拡大しました。新しい既定の開始ポートは 49152 で、既定の終了ポートは 65535 です。 1025 ~ 5000 の既定のポート範囲を使用していた以前のバージョンの Windows の構成からの変更。
発信接続により高いポート番号を使用するように 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