public ServiceHost createGame(string ip, Game game, string gameName)
        {
            string uri = HTTP_CONN_STR + ip;

            ServiceHost host = new ServiceHost(
                game,
                new Uri[]{
                    new Uri(uri + "/" + GAME_NAME + "/" + gameName)
                });

            host.AddServiceEndpoint(typeof(IGame),
                new WSDualHttpBinding(WSDualHttpSecurityMode.None), "");
            /*ServiceDebugBehavior sdb = host.Description.Behaviors.Find<ServiceDebugBehavior>();
            if (sdb == null)
            {
                sdb = new ServiceDebugBehavior();
                host.Description.Behaviors.Add(sdb);
            }
            sdb.IncludeExceptionDetailInFaults = true;
            ServiceMetadataBehavior smb = host.Description.Behaviors.Find<ServiceMetadataBehavior>();
            if (smb == null)
            {
                smb = new ServiceMetadataBehavior();
                host.Description.Behaviors.Add(smb);
            }
            smb.HttpGetEnabled = true;
             */
            return host;
        }
Example #2
0
        public bool createGame(string gameName, IGameStrategy strategy)
        {
            if (games.Keys.Contains(gameName))
            {
                return false;
            }

            BattleShipServer.WCFConnection.Server.Game game
                = new BattleShipServer.WCFConnection.Server.Game(gameName,strategy, this);
            games.Add(gameName, game);

            ServiceHost sh = serviceFactory.createGame(IP, game, gameName);
            sh.Open();
            gameSHs.Add(gameName, sh);

            lobby.sendMessage("Server > Game: \"" + gameName + "\" was created!");

            return true;
        }