本目录包含 IoM-go SDK 的完整使用示例。
每个示例都在独立的目录中:
cd <示例目录>
go run main.go或从 example 目录运行:
go run ./<示例目录>/main.gobasic_connection - 连接服务器并获取基本信息
cd basic_connection && go run main.go演示如何建立连接、初始化服务器状态、获取客户端、监听器和会话列表。
session_management - 会话管理
cd session_management && go run main.go演示如何获取会话列表、查询会话详情、检查会话状态和模块。
execute_task - 获取任务结果
cd execute_task && go run main.go演示如何获取会话的任务列表和任务详情。
listener_management - 监听器管理
cd listener_management && go run main.go演示如何管理监听器和管道,包括列出、注册、启动和停止。
event_handling - 事件处理
cd event_handling && go run main.go演示如何监听服务器的实时事件流。
task_callbacks - 任务回调
cd task_callbacks && go run main.go演示如何使用回调系统异步处理任务结果。
advanced_usage - 高级用法
cd advanced_usage && go run main.go演示高级特性:会话上下文、克隆、观察者模式、活动目标管理等。
所有示例使用相对路径 ../../../server/admin_127.0.0.1.auth 加载配置文件。
如需使用其他配置文件,修改示例中的路径:
config, err := mtls.ReadConfig("path/to/your/config.yaml")config, _ := mtls.ReadConfig("config.yaml")
conn, _ := mtls.Connect(config)
defer conn.Close()
server, _ := client.NewServerStatus(conn, config)sessions := server.AlivedSessions()
session := server.AddSession(sessions[0])
ctx := session.Context()tasks, _ := server.Rpc.GetTasks(ctx, &clientpb.TaskRequest{
SessionId: session.SessionId,
})本目录使用统一的 go.mod 管理所有示例的依赖:
go mod tidy