public ReverseWSCaller( int listen_port, string api_path, string access_token ) { api_path = api_path.Trim('/'); server = new WebsocketDaemon.WebsocketServerInstance( listen_port, api_path, access_token, m => { Log.Debug($"[reverse websocket received API response]:\n{m}"); JToken t = JToken.Parse(m); lock (buffer_lock) { buffer[t["echo"].ToObject <long> ()] = t; } } ); }
public ReverseWSListener(int bind_port, string event_path, string access_token) { event_path = event_path.Trim('/'); server = new WebsocketDaemon.WebsocketServerInstance( bind_port, event_path, access_token, message => { Task.Run(async() => { try { if (string.IsNullOrEmpty(message)) { return; } CQResponse response = await GetResponse(message); if (response is EmptyResponse == false) { if (caller != null) { await caller.SendRequestAsync( new ApiCall.Requests.HandleQuickOperationRequest( context: message, operation: response.content )); } else { Log.Warn("反向WS无法快速响应(caller为null)"); } } } catch (System.Exception e) { Log.Error( $"处理事件时发生未处理的异常{e},错误信息为{e.Message}" ); } }); } ); }