Пример #1
0
        public void Init()
        {
            //Init...
            _sys     = new StandardFileSystem();
            _sys     = StandardFileSystem.Create("FSROOT");
            _service = new FilesWebService(_sys);
            _request = new CS422.WebRequest();
            _root    = _sys.GetRoot();

            //Set up the filesystem
            //Create Files
            FileStream file = File.Create(_rootPath + "/file1");
            String     s    = "this is a file with content";

            byte[] buffer = Encoding.ASCII.GetBytes(s);
            file.Write(buffer, 0, s.Length);
            file.Close();
            File.Create(_rootPath + "/file2").Close();

            //Create Directory
            Directory.CreateDirectory(_rootPath + "/Dir1");

            //Create subDirs
            Directory.CreateDirectory(_rootPath + "/Dir1/SubDir1");
            Directory.CreateDirectory(_rootPath + "/Dir1/SubDir2");
            Directory.CreateDirectory(_rootPath + "/Dir1/SubDir1/DoubleSubDir1");

            //Create subFiles
            File.Create(_rootPath + "/Dir1/subfile1").Close();
            File.Create(_rootPath + "/Dir1/SubDir1/doubleSubFile1").Close();

            Console.WriteLine("Setup Complete");
        }
Пример #2
0
        public void Init()
        {
            //Init...
            _sys     = new StandardFileSystem();
            _sys     = StandardFileSystem.Create("FSROOT");
            _service = new FilesWebService(_sys);
            _request = new CS422.WebRequest();

            //Set up the filesystem
            //Create Files
            File.Create(_rootPath + "/file1").Close();
            File.Create(_rootPath + "/file2").Close();

            //Create Directory
            Directory.CreateDirectory(_rootPath + "/Dir1");

            //Create subDirs
            Directory.CreateDirectory(_rootPath + "/Dir1/SubDir1");
            Directory.CreateDirectory(_rootPath + "/Dir1/SubDir2");
            Directory.CreateDirectory(_rootPath + "/Dir1/SubDir1/DoubleSubDir1");

            //Create subFiles
            File.Create(_rootPath + "/Dir1/subfile1").Close();
            File.Create(_rootPath + "/Dir1/SubDir1/doubleSubFile1").Close();

            Console.WriteLine("Setup Complete");
        }
Пример #3
0
        public static void Main(string[] args)
        {
            var x = StandardFileSystem.Create("/home/jay/422/HW9Test");
            var y = new FilesWebService(x);

            WebServer.AddService(y);
            WebServer.Start(4220, 10);
        }
Пример #4
0
        //WebServer server = new WebServer();
        public static void Main(string[] args)
        {
            const string goodPath =
                "/home/zak/Repos/CS422/HW9/CS422/files";

            DemoService test = new DemoService();

            StandardFileSystem myFileSystem = StandardFileSystem.Create(goodPath);

            FilesWebService hostedFiles = new FilesWebService(myFileSystem);

            WebServer.AddService(hostedFiles);

            WebServer.Start(2017, 22);
        }
Пример #5
0
        static void Main(string[] args)
        {
            if (0 == args.Length)
            {
                Usage();
                return;
            }

            string sharedDirStr = null;
            string portStr      = "8086";

            // Look at command-line arguments
            for (int i = 0; i < args.Length; i++)
            {
                if (args[i] == "-f" || args[i] == "-F")
                {
                    // Make sure there's another argument following
                    if (i == args.Length - 1)
                    {
                        Console.WriteLine(
                            "ERROR: -f parameter was not followed by a folder/directory name");
                        return;
                    }
                    sharedDirStr = args[i + 1];
                    i++;
                }
                else if (args[i] == "-p" || args[i] == "-P")
                {
                    // Make sure there's another argument following
                    if (i == args.Length - 1)
                    {
                        Console.WriteLine(
                            "ERROR: -p parameter was not followed by a port number argument");
                        return;
                    }
                    portStr = args[i + 1];
                    i++;
                }
            }

            int port = 8086;

            if (!int.TryParse(portStr, out port))
            {
                port = 8086;
            }

            // Check the shared directory
            if (null == sharedDirStr)
            {
                Console.WriteLine(
                    "ERROR: Missing required parameter for folder/directory to share (-f)");
                return;
            }
            if (!Directory.Exists(sharedDirStr))
            {
                Console.WriteLine(
                    "ERROR: Directory does not exist: " + sharedDirStr);
                return;
            }

            // Create the file system object used by the web server to host files
            var fs = ETOF.IO.StandardFileSystem.Create(sharedDirStr);

            if (null == fs)
            {
                Console.WriteLine("ERROR: Could not create file system for directory: " + sharedDirStr);
                return;
            }
            var sharedDir = fs.Root;

            // Start the web server
            WebServer.Options opts   = new WebServer.Options(port, ValidateIP);
            WebServer         server = new WebServer(opts);
            var fws = new FilesWebService(sharedDir, null);

            fws.AddLogger(Console.Out);
            server.Services.Add(fws);

            // Was using this service to text webcam streaming
            //server.Services.Add(new MemoryImageWebService());

            // Add some services for testing purposes as well
            server.Services.Add(new SlowService());

            Console.WriteLine(
                "Web server is running\n  Server Address: http://{0}:{1}/files\n  Sharing: {2}",
                server.LocalIPAddr, port, sharedDirStr);

            // Enter the read-key loop
            while (true)
            {
                Console.WriteLine("(press q to quit)");
                var keyInfo = Console.ReadKey();
                if (keyInfo.KeyChar == 'q' || keyInfo.KeyChar == 'Q')
                {
                    break;
                }
            }

            fws.Dispose();
            fws = null;
            server.Dispose();
            Console.WriteLine();
            Console.WriteLine("Web server closed");
        }