Beispiel #1
0
        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);
        }
Beispiel #2
0
 public static void TestQuit(int NumUser, int n, ClientContext cc, IApplicationClient ic, Action Completed)
 {
     ic.Quit(new QuitRequest {
     }).ContinueWith(t => Completed());
 }