示例#1
0
        private static void GetMessagesLoop()
        {
            Console.WriteLine("\n-- {0} --", MethodBase.GetCurrentMethod().Name);
            using (var serverProtocol = new FileZillaServerProtocol(IPAddress.Parse(Ip), Port)
            {
                Log = DebugLog
            })
            {
                serverProtocol.Connect(ServerPassword);
                Console.WriteLine("Listening to FileZilla server. Connect to server with FTP client now... (CTRL-C to exit)");
                Console.WriteLine("Causing a deliberate error to see error response");
                serverProtocol.SendCommand((MessageType)42); // Send deliberate unknown command
                while (true)
                {
                    serverProtocol.SendCommand(MessageType.Loopback);
                    var messages = serverProtocol.ReceiveMessages();
                    foreach (var message in messages)
                    {
                        switch (message.MessageType)
                        {
                        case MessageType.Loopback:
                            break;

                        case MessageType.Error:
                            var error = (Error)message.Body;
                            Console.WriteLine("Error Message:{0} TextType:{1}", error.Message, error.TextType);
                            break;

                        default:
                            Console.WriteLine("{0} {1} ({2}){3}",
                                              message.MessageOrigin,
                                              message.MessageType,
                                              message.Body != null ? message.Body.GetType().Name : "null",
                                              message.Body != null ? JsonConvert.SerializeObject(message.Body) : "");
                            break;
                        }
                    }

                    Task.Delay(TimeSpan.FromSeconds(1)).Wait();
                }
            }
        }
 private static void GetMessagesLoop()
 {
     Console.WriteLine("-- {0} --", MethodBase.GetCurrentMethod().Name);
     using (var serverProtocol = new FileZillaServerProtocol(IPAddress.Parse(Ip), Port))
     {
         serverProtocol.Log = new DebugTextWriter();
         serverProtocol.Connect(ServerPassword);
         Console.WriteLine("Listening to FileZilla server. Connect to server with FTP client now... (CTRL-C to exit)");
         while (true)
         {
             serverProtocol.SendCommand(MessageType.Loopback);
             var messages = serverProtocol.ReceiveMessages();
             foreach (var message in messages)
             {
                 if (message.MessageType != MessageType.Loopback)
                 {
                     Console.WriteLine("{0} {1} ({2}){3}",
                         message.MessageOrigin,
                         message.MessageType,
                         message.Body != null ? message.Body.GetType().Name : "null",
                         message.Body != null ? JsonConvert.SerializeObject(message.Body) : "");
                 }
             }
             Thread.Sleep(TimeSpan.FromSeconds(1));
         }
     }
 }