private static async Task <bool> HandleLine(IApplicationClient InnerClient, Action <SecureContext> SetSecureContext, bool UseOld, string Line) { if (Line == "exit") { await InnerClient.Quit(new QuitRequest()); return(false); } if (Line == "shutdown") { var r = await InnerClient.Shutdown(new ShutdownRequest()); if (r.OnSuccess) { Console.WriteLine("服务器正在关闭。"); } return(false); } if (Line == "secure") { await InnerClient.SendMessage(new SendMessageRequest { Content = Line }); //生成测试用确定Key var ServerToken = Enumerable.Range(0, 41).Select(i => (Byte)(i)).ToArray(); var ClientToken = Enumerable.Range(0, 41).Select(i => (Byte)(40 - i)).ToArray(); SetSecureContext(new SecureContext { ServerToken = ServerToken, ClientToken = ClientToken }); } else if (UseOld) { var r = await InnerClient.SendMessageAt1(new SendMessageAt1Request { Id = 1, Message = new MessageAt2 { Title = "", Lines = new List <String> { Line } } }); if (r.OnTitleTooLong || r.OnLinesTooLong || r.OnLineTooLong) { Console.WriteLine("消息过长。"); } } else { var r = await InnerClient.SendMessage(new SendMessageRequest { Content = Line }); if (r.OnTooLong) { Console.WriteLine("消息过长。"); } } return(true); }
public static void TestQuit(int NumUser, int n, ClientContext cc, IApplicationClient ic, Action Completed) { ic.Quit(new QuitRequest { }).ContinueWith(t => Completed()); }