startDebuggerServer
描述
startDebuggerServer
函数用于启动一个Rivet调试服务器。通过在您的应用程序中创建调试服务器,您可以从Rivet实时连接并调试应用程序中运行的图表。
语法
function startDebuggerServer(options?: {
getClientsForProcessor?: (processor: GraphProcessor, allClients: WebSocket[]) => WebSocket[];
getProcessorsForClient?: (client: WebSocket, allProcessors: GraphProcessor[]) => GraphProcessor[];
server?: WebSocketServer;
port?: number;
dynamicGraphRun?: (data: { client: WebSocket; graphId: GraphId; inputs: GraphInputs }) => Promise<void>;
allowGraphUpload?: boolean;
}): RivetDebuggerServer;
参数
options
(Object): 调试服务器启动选项。应为包含以下可选属性的对象:
getClientsForProcessor
为了让多个调试器能够连接到多个处理器,需要存储处理器到客户端的映射关系。
该函数接收一个处理器和所有客户端,必须返回该处理器对应的客户端。
如果未传递此函数,则服务器将假定只有一个处理器且所有客户端都连接到该处理器。
getProcessorsForClient
为了允许多个调试器连接到多个处理器,需要存储处理器到客户端的映射关系。
该函数接收一个客户端和所有处理器,必须返回该客户端的处理器。
如果未传递此函数,则服务器将假定只有一个处理器且所有客户端都连接到该处理器。
服务器
一个WebSocket服务器的实例。您可以使用它来覆盖默认服务器。
端口
默认服务器将监听的端口。默认端口是21888。
dynamicGraphRun
实现此功能以允许在Rivet中进行远程调试时按下"Start"按钮,动态执行应用程序内部的图形。
该函数将通过WebSocket客户端调用启动,传入要运行的图的graph ID,以及可选地运行图所需的任何输入。您必须自行构建一个Project并运行该图,传入调试器服务器,以将执行过程与动态图运行连接起来。
此函数不返回任何内容,因为图执行与调试器服务器之间的连接由传递给runGraph
函数的remoteDebugger
参数处理。
allowGraphUpload
如果将此设置为true,则服务器将允许上传图表到服务器。这对于调试不属于项目的图表非常有用,或者用于调试属于项目但尚未保存到磁盘的图表。
返回
返回一个RivetDebuggerServer
实例。该实例应传递给runGraph
函数,以便图执行过程能够与调试器服务器进行通信。
示例
const debuggerServer = startDebuggerServer({
port: 8080,
allowGraphUpload: true,
dynamicGraphRun: async ({ client, graphId, inputs }) => {
// Implement your dynamic graph run logic here
},
});
另请参阅
- RivetDebuggerServer
- DebuggerEvents
- WebSocketServer
- GraphProcessor
- GraphId