Ejemplo n.º 1
0
        public void Test_RunBasicServer()
        {
            //should able to run just fine, might throw error if port is already in use
            BasicServer basicServer = new BasicServer();

            basicServer.Dispose();
        }
Ejemplo n.º 2
0
    // Use this for initialization
    void Start()
    {
        Debug.Log("Starting up AllJoyn service and client");
        basicServer = new BasicServer();
        basicClient = new BasicClient();

        basicClient.Connect();
    }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Server Initialize!");
            var basicServer = BasicServer.CreateInstance();

            basicServer.Run();
            Console.ReadKey();
        }
Ejemplo n.º 4
0
 public void Test_ManyConnections()
 {
     //should able to run just fine, might throw error if port is already in use
     using (BasicServer basicServer = new BasicServer())
     {
         for (int i = 0; i < 100; i++)
         {
             BasicPeer peer = new BasicPeer("127.0.0.1", 444);
         }
     }
 }
Ejemplo n.º 5
0
        public void Setup()
        {
            byte[,] map =
            {
                { 1, 1, 1, 3, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 3, 1, 1, 1 }
            };
            freePort = GetFreePortHelper.NextFreePort(4649);
            var basicServer = BasicServer.CreateInstance(freePort);

            basicServer.RunAsynch(new ByteArrayMapLoader(map));
            Thread.Sleep(2000);
        }
Ejemplo n.º 6
0
        static void Main()
        {
            Console.WriteLine("--    EchoServer/HelloClient    --");
            EchoServer.StartEchoServer();
            HelloClient.Connect();

            Task.Delay(50).Wait(); //Wait 50 milliseconds to let HelloClient finish

            Console.WriteLine("--    BasicServer/BasicClient    --");
            BasicServer.StartBasicServer();
            BasicClient.Connect();

            Task.Delay(50).Wait(); //Wait 50 milliseconds to let BasicClient finish

            Console.WriteLine("--    EasyTcpPacketExample    --");
            EasyTcpPacketExample.Start();
            EasyTcpPacketExample.Connect();

            Task.Delay(50).Wait(); //Wait 50 milliseconds to let EasyTcpPacketExample finish

            Console.WriteLine("--    EncryptionExample    --");
            EncryptionExample.Start();
            EncryptionExample.Connect();

            Task.Delay(50).Wait(); //Wait 50 milliseconds to let EncryptionExample finish

            Console.WriteLine("--    FileServer/FileClient    --");
            FileServer.StartFileServer();
            FileClient.Download("TestFile.txt", "DownloadedTestFile.txt");
            FileClient.Upload("TestFile.txt", "UploadedTestFile.txt");

            Task.Delay(50).Wait(); //Wait 50 milliseconds to let FileClient finish

            Console.WriteLine("--    EchoServer/SpeedTestClient    --");
            SpeedTestClient.RunSpeedTest();

            Console.WriteLine("--    ActionEchoServer/ActionSpeedTestClient    --");
            ActionEchoServer.StartEchoServer();
            ActionSpeedTestClient.RunSpeedTest();

            Task.Delay(-1).Wait();
        }
Ejemplo n.º 7
0
        private void BeginNewGameCompleted(SIDocument document, string documentPath)
        {
            var localizer = new NetworkLocalizer(Thread.CurrentThread.CurrentUICulture.Name);

            Server server;

            if (NetworkGame)
            {
                server = new TcpMasterServer(NetworkPort, ServerConfiguration.Default, localizer);
                ((TcpMasterServer)server).StartListen();
            }
            else
            {
                server = new BasicServer(ServerConfiguration.Default, localizer);
            }

            server.Error += Server_Error;

            _model.NetworkGamePassword = "";
            _model.AppSettings.Culture = Thread.CurrentThread.CurrentUICulture.Name;
            _model.HumanPlayerName     = Human.Name;

            var(host, _) = new GameRunner(
                server,
                _model,
                document,
                BackLink.Default,
                new WebManager(_model.AppSettings.MultimediaPort),
                _computerPlayers.ToArray(),
                _computerShowmans.ToArray())
                           .Run();

            if (!NetworkGame)
            {
                host.MyData.IsChatOpened = false;
                host.MyData.AutoReady    = true;
            }

            MoveToGame(server, host, documentPath);
        }
Ejemplo n.º 8
0
        public virtual void Initialize()
        {
            Server = new BasicServer();
            Client = new BasicClient();

            string ip   = Guid.NewGuid().ToString();
            int    port = Common.Port;

            Server.InitializeServer(GetContext(ip, port), new DirectServerProvider());
            Client.InitializeClient(GetContext(ip, port), new DirectClientProvider());

            Server.StartServer();
            var sv = DirectServerProvider.Servers;

            Client.StartClient();

            ServerService = Server.Context.Services.Get <TService>();
            ClientService = Client.Context.Services.Get <TService>();

            Assert.IsNotNull(ServerService);
            Assert.IsNotNull(ClientService);
        }
        public void Setup()
        {
            byte[,] map =
            {
                { 1, 1, 1, 3, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 1, 1, 1, 1 },
                { 1, 1, 1, 1, 3, 1, 1, 1 }
            };
            freePort = GetFreePortHelper.NextFreePort(4649);
            var basicServer = BasicServer.CreateInstance(freePort);

            basicServer.RunAsynch(new ByteArrayMapLoader(map));
            Thread.Sleep(2000);
            _client = new OHSWebSocketClient("localhost", freePort);
            _client.Connect();
            _client.WaitForConnectionId();
            _client.PlayerLogin("TestName");
            playerId = _client.PlayerInfo.Id;
        }
Ejemplo n.º 10
0
        static void Main(string[] args)
        {
            BasicServer server = new BasicServer(new IPEndPoint(IPAddress.Any, 8085));

            server.OnConnected    += (sender, client) => Console.WriteLine($"{client.Handler.RemoteEndPoint} Connected!");
            server.OnDisconnected += (sender, client) => Console.WriteLine($"{client.Handler.RemoteEndPoint} Disconnected!");
            server.OnReceive      += (client, packet) =>
            {
                Console.WriteLine(client.Handler.RemoteEndPoint);
                foreach (var kv in packet)
                {
                    Console.WriteLine($"\t[{kv.Key}] = {kv.Value}");
                }

                foreach (var c in server.Clients)
                {
                    if (c != client)
                    {
                        c.Send(packet);
                    }
                }
            };

            while (true)
            {
                server.Start();
                Console.WriteLine("Started");

                Console.ReadLine();

                server.Stop();
                Console.WriteLine("Stopped");

                Console.ReadLine();
            }
        }
Ejemplo n.º 11
0
        public HelloWorld() : base("HelloWorld", new IPEndPoint(IPAddress.Parse("0.0.0.0"), 8080), new Method[] { Method.GET, Method.HEAD }, Path.Combine(Directory.GetCurrentDirectory(), "log"), "/HTTP")
        {
            Sessions = new WebApp.SessionStores.MemoryStore();

            BasicServer.Response render(string text, string ct = "text/plain")
            {
                var headers = BasicServer.DefaultHeaders();

                headers["Content-Type"] = ct;

                return(new BasicServer.Response()
                {
                    Status = StatusCode.OK,
                    Body = Encoding.UTF8.GetBytes(text),
                    Headers = headers,
                });
            }

            BasicServer.Response count(AdvancedServer.Request request)
            {
                var response_headers = BasicServer.DefaultHeaders();

                WebApp.SessionStores.DictionarySession session;

                if (!request.Headers.Cookie.HasValue)
                {
                    session = Sessions.Create();

                    response_headers["Set-Cookie"] = $"id={session.ID}";
                }
                else
                {
                    var cookie_str = request.Headers.Cookie.Value;
                    var tok        = cookie_str.Trim().Split(' ').Where(str => str.StartsWith("id=")).Select(s => s.TrimEnd(';')).Last();
                    var id         = tok.Substring(3);

                    if (!Sessions.HasSession(id))
                    {
                        session = Sessions.Create();
                        response_headers["Set-Cookie"] = $"id={session.ID}";
                    }
                    else
                    {
                        session = Sessions.Open(id);
                    }
                }

                int hit_count;

                if (!session.HasKey("count"))
                {
                    hit_count = 0;
                }
                else
                {
                    hit_count = int.Parse(session["count"]);
                }

                session["count"] = $"{++hit_count}";

                var response_text = $"count: {hit_count}";

                return(new BasicServer.Response()
                {
                    Status = StatusCode.OK,
                    Headers = response_headers,
                    Body = Encoding.UTF8.GetBytes(response_text),
                });
            }

            Router.GET("/", (r => render("Hello, world!")));
            Router.GET("/test", (r => render("test successful")));
            Router.GET("/name/$name", (r, vars) => render($"hello, {vars["name"]}!"));
            Router.GET("/doublename/$name", (r, vars) => render($"{vars["name"]}{vars["name"]}"));

            Router.HEAD("/", (r => render("Hello, world!")));
            Router.HEAD("/test", (r => render("test successful")));
            Router.HEAD("/name/$name", (r, vars) => render($"hello, {vars["name"]}!"));
            Router.HEAD("/doublename/$name", (r, vars) => render($"{vars["name"]}{vars["name"]}"));

            //Router.GET("/foo/$bar/baz/$bar", r => render_plaintext("this shouldn't work!"));

            Router.GET("/count", count);
            Router.GET("/count/reset", request =>
            {
                if (!request.Headers.Cookie.HasValue)
                {
                    return(Server.RenderServerError(StatusCode.BAD_REQUEST));
                }

                var cookie_str = request.Headers.Cookie.Value;
                var tok        = cookie_str.Trim().Split(' ').Where(str => str.StartsWith("id=")).Select(s => s.TrimEnd(';')).Last();
                var id         = tok.Substring(3);

                if (Sessions.HasSession(id))
                {
                    Sessions.Destroy(Sessions.Open(id));
                }

                var redirect = Redirect("/HTTP/count");

                redirect.Headers["Set-Cookie"] = "id=";

                return(redirect);
            });

            var assetsdir = Path.Combine(Directory.GetCurrentDirectory(), "assets");

            if (Directory.Exists(assetsdir))
            {
                AssetServer.Register(assetsdir, Router, "/assets", true);
            }

            var viewsdir = Path.Combine(Directory.GetCurrentDirectory(), "views");

            if (Directory.Exists(viewsdir))
            {
                Views = new TemplateEngine(viewsdir);

                var name_template = Views.Load("name.html.template");
                Router.GET("/rendername/$name", (r, vars) => render(name_template.With(vars), "text/html"));
            }
        }