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; }
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; }