Files
ykxmz/_tests/run_java_bridge.ps1
T
xmz7891 b705216e4a ykxmz 1.5.0锛氫慨澶嶆墜琛ㄧ TLS 璇佷功鏍¢獙 + MTU 淇缃戠粶绋冲畾鎬?
琚帶绔?- 淇 MTU 闂锛氬す MSS + 璺緞 MTU 鎺㈡祴锛堝叕缃戝彲鐢ㄧ巼 48% -> 100%锛?- 澶嶇敤 HTTP 杩炴帴锛堝厤鎺夋瘡娆℃柊寤?TLS 鐨?30% 鎻℃墜澶辫触锛?- 姣忓垎閽熷洖澶存壘灞€鍩熺綉锛岃嚜鍔ㄥ垏鍥炲揩 400 鍊嶇殑璺緞
- 鐢婚潰蹇冭烦甯э細闈欐鏃剁渷娴侀噺锛屽鎴风浠嶇煡閬撴祦鏄椿鐨?- 閿佸睆鏃剁粰鍑哄彲鎿嶄綔鐨勬彁绀?
鎵嬭〃绔?- 鍐呯疆 GTS Root R4 / GlobalSign Root CA锛屼慨 SSLHandshakeException
- 杩炴帴閿欒缈昏瘧鎴愪汉璇濓紙璇佷功/鏃堕棿/瑙f瀽/瓒呮椂鍒嗗埆鎻愮ず锛?- 缁忎腑杞繛涓婂悗鐢ㄦ湇鍔″櫒鎶ョ殑鍦板潃鍒锋柊宸查厤瀵硅褰?- 鏂板灞€鍩熺綉杩炴帴椤甸潰銆佹湇鍔″櫒寤惰繜妫€娴?
鏈嶅姟鍣ㄧ
- 鏀寔 chunked 璇锋眰浣擄紙淇瘡 16 绉掍竴娆$殑杩炴帴閿欎贡涓庡ぇ闈㈢Н 502锛?- 缃戠粶璋冧紭鑴氭湰 net-tune.sh锛堝紑鏈鸿嚜鍔ㄥ簲鐢級
- 绠$悊椤碉細鎵归噺鍒犻櫎銆佺綉缁滀綋妫€銆佷笅杞藉尯
- 闅ч亾鏀?HTTP/2 + 鍙岃繛鎺?
鏂囨。
- 璁稿彲鍗忚 / 瀹夎鍓嶅繀璇?/ 瀹夎鍚庨』鐭ワ紙浣滆€咃細灏忛害瀛愶級
2026-10-06 19:01:05 +08:00

59 lines
2.5 KiB
PowerShell

# 跨语言联调:桌面 JVM 的 Java 协议层 <-> 真实 Python 被控端
# 用法: pwsh -File _tests\run_java_bridge.ps1
$ErrorActionPreference = "Stop"
$root = Split-Path -Parent $PSScriptRoot # LanRemote/
$jdkn = Join-Path $root "..\starklink\toolchain\jdk17"
$javac = Join-Path $jdkn "bin\javac.exe"
$java = Join-Path $jdkn "bin\java.exe"
$src = Join-Path $root "android\src"
$out = Join-Path $root "_tests\out_java"
$codefile = Join-Path $env:TEMP "lr_paircode.txt"
$port = 8799
if (-not (Test-Path $javac)) { throw "找不到 javac: $javac" }
Write-Host "===== 1. 编译纯 Java 协议层 =====" -ForegroundColor Cyan
if (Test-Path $out) { Remove-Item -Recurse -Force $out }
New-Item -ItemType Directory -Force -Path $out | Out-Null
$sources = @(
(Join-Path $src "com\lanremote\watch\Json.java"),
(Join-Path $src "com\lanremote\watch\B64.java"),
(Join-Path $src "com\lanremote\watch\RemoteClient.java"),
(Join-Path $root "_tests\java\JavaClientTest.java")
)
& $javac --release 8 -encoding UTF-8 -d $out @sources 2>&1
if ($LASTEXITCODE -ne 0) { throw "javac 编译失败" }
Write-Host "编译通过" -ForegroundColor Green
Write-Host "`n===== 2. 启动 Python 被控端(桩模式)=====" -ForegroundColor Cyan
if (Test-Path $codefile) { Remove-Item $codefile -Force }
$stub = Start-Process -FilePath "python" `
-ArgumentList "_tests\run_stub_server.py", "--port", $port, "--code-file", $codefile `
-WorkingDirectory $root -PassThru -WindowStyle Hidden `
-RedirectStandardOutput (Join-Path $env:TEMP "lr_stub_out.txt") `
-RedirectStandardError (Join-Path $env:TEMP "lr_stub_err.txt")
$deadline = (Get-Date).AddSeconds(20)
while (-not (Test-Path $codefile) -and (Get-Date) -lt $deadline) { Start-Sleep -Milliseconds 300 }
if (-not (Test-Path $codefile)) {
Get-Content (Join-Path $env:TEMP "lr_stub_err.txt") -ErrorAction SilentlyContinue
Stop-Process -Id $stub.Id -Force -ErrorAction SilentlyContinue
throw "被控端未就绪"
}
$code = (Get-Content $codefile -Raw).Trim()
Write-Host "被控端就绪,端口 $port,配对码 $code" -ForegroundColor Green
Write-Host "`n===== 3. 运行 Java 客户端联调 =====" -ForegroundColor Cyan
try {
& $java "-Dfile.encoding=UTF-8" -cp $out JavaClientTest "127.0.0.1" $port $code 2>&1
$testExit = $LASTEXITCODE
} finally {
Stop-Process -Id $stub.Id -Force -ErrorAction SilentlyContinue
Write-Host "`n已停止被控端" -ForegroundColor DarkGray
}
Write-Host "`nJava 测试退出码: $testExit"
exit $testExit