阶段性批量提交
This commit is contained in:
37
SHH.CameraDashboard/Invokes/ServiceLaunchOptions.cs
Normal file
37
SHH.CameraDashboard/Invokes/ServiceLaunchOptions.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
using System;
|
||||
|
||||
namespace SHH.CameraDashboard;
|
||||
|
||||
/// <summary>
|
||||
/// [Dashboard端] Service 启动参数构建器
|
||||
/// 职责:生成标准化的命令行参数字符串,告诉 Service 如何反向连接
|
||||
/// </summary>
|
||||
public static class ServiceLaunchOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 生成启动参数
|
||||
/// </summary>
|
||||
/// <param name="serviceId">给子服务起的唯一ID (如 "CamService_01")</param>
|
||||
/// <param name="dashboardIp">Dashboard 的 IP (通常是 127.0.0.1)</param>
|
||||
/// <param name="streamPort">Dashboard 监听视频的端口 (如 6000)</param>
|
||||
/// <param name="serviceApiPort">指定子服务 WebAPI 监听的端口 (如 5005)</param>
|
||||
/// <returns>命令行参数字符串</returns>
|
||||
public static string BuildArguments(string serviceId, string dashboardIp, int streamPort, int serviceApiPort)
|
||||
{
|
||||
// 获取当前 Dashboard 进程 ID,传给子进程做“父进程守护”
|
||||
int parentPid = Environment.ProcessId;
|
||||
|
||||
// 拼接参数:
|
||||
// --pid: 父进程ID
|
||||
// --uris: 反向连接的目标地址 (Dashboard 的地址)
|
||||
// --mode: 1 (Active模式,代表 Service 主动连接 Dashboard)
|
||||
// --ports: Service 自身的 WebAPI 端口 (防止与 Dashboard 冲突)
|
||||
|
||||
return $"" +
|
||||
$"--pid {parentPid} " +
|
||||
$"--id \"{serviceId}\" " +
|
||||
$"--uris \"{dashboardIp},{streamPort}\" " +
|
||||
$"--mode 1 " +
|
||||
$"--ports \"{serviceApiPort},100\""; // 100 是保留位,暂不用
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user