問題の症状#
FlightGear起動後、Telnet(ポート5401)でモデル姿勢を動的に修正しようとしたが、接続拒否エラー:
対象のコンピューターによって拒否されたため、接続できませんでした。 127.0.0.1:5401結果: ライブ反映機能(再起動なし)が使用不可
原因#
以下のいずれかが原因です:
- FlightGear起動時に
--telnet=5401オプションが指定されていない - Telnetサーバがタイムアウトで閉じている
- PowerShellスクリプト実行時の管理者権限不足
- 既存のFlightGearインスタンスがポートを専有
解決方法#
方法1: 起動オプションを明示的に指定#
FlightGear --telnet=5401 --httpd=8080方法2: リトライロジックを実装#
$portOpen = (Test-NetConnection 127.0.0.1 -Port 5401 -WarningAction SilentlyContinue).TcpTestSucceeded
if(-not $portOpen){
Get-Process fgfs -ErrorAction SilentlyContinue | Stop-Process -Force
Start-Process -FilePath $fg -ArgumentList $fgArgs
Start-Sleep 5
}方法3: 代替手段#
表示再読込(再起動なし)#
# Telnetまたはプロパティブラウザで実行
/sim/reinit/graphics 1FlightGear再起動(最も確実)#
設定変更後、FlightGearを完全に再起動します。
予防策#
1. ポート使用状況を確認#
netstat -an | findstr 5401他のプロセスが使用中でないか確認します。
2. Telnet接続失敗時の代替手段をドキュメント化#
ライブ反映が失敗した場合の手順を明記します。
3. 単一インスタンス運用#
複数起動による競合を防ぎます。
4. 起動スクリプトに必須オプションを明記#
REM 必須: Telnet有効化
--telnet=5401参照資料#
本記事の執筆にあたり、以下の資料を参照しました:
筆者の過去調査データ#
- jsbsim_fg(private repository)
- temp/savanna3d_log.md:166-188 - エラーメッセージ記録
- temp/savanna3d作業報告書.md:120-141 - ライブ反映方法
- README.md:291-294 - Telnet/HTTP未確認注記
公式ドキュメント#
- FlightGear Wiki - Telnet usage(https://wiki.flightgear.org/Telnet_usage)- CC BY-SA 3.0
- FlightGear Wiki - Property Tree(https://wiki.flightgear.org/Property_tree)- CC BY-SA 3.0
© 2025 Yaaasoh. All Rights Reserved.
本記事の著作権はYaaasohに帰属します。引用部分については各引用元のライセンスが適用されます。