示例#1
0
        public static void ClientTalk(SslStream clientStream)
        {
            while (true)
            {
                try
                {
                    //blocks until a client sends a message
                    var result = GetMessageFromClient(clientStream);
                    switch (result)
                    {
                    case "LOOK UP SINGLE HASH":
                        // Send go ahead
                        SendMessageToClient(clientStream, "200 OK");
                        var hash = GetMessageFromClient(clientStream);
                        if (hash.Length >= 32)
                        {
                            // create a new process so the client can send a new request
                            Task.Run(() =>
                            {
                                try
                                {
                                    var hashToCheck = GetMessageFromClient(clientStream);
                                    var newScanner  = new Scanner.Scanner();
                                    var isFileClear = newScanner.ScanFile(hashToCheck);
                                }
                                catch (Exception)
                                {
                                    SendMessageToClient(clientStream, "901 FAIL");
                                }
                            });
                        }
                        break;

                    case "LOOK UP STARTUPFILES":
                        break;

                    case "IS CLIENT ALIVE":
                        // check Connection
                        break;

                    default:
                        SendMessageToClient(clientStream, "900 FAIL");
                        break;
                    }
                }
                catch
                {
                    //a socket error has occured
                    break;
                }
            }
        }