/// <summary> /// 增加玩家進入Server /// </summary> /// <param name="playerName"></param> static void EnterPlayer(object playerName) { //載入Server LoadBalanceServer lbs = LoadBalanceServer.GetLoadBalanceServer(); lbs.GetLobbyServer().EnterPlayer(playerName.ToString()); }
/// <summary> /// 外部呼叫-取得負載平衡Server主機-初始化該機器 /// </summary> /// <returns></returns> public static LoadBalanceServer GetLoadBalanceServer() { if (lbs == null) { lock (syncLock) { if (lbs == null) { Thread.Sleep(100); lbs = new LoadBalanceServer(); } } } return(lbs); }
public SingletonExample() { //建立Server LoadBalanceServer lbs = LoadBalanceServer.GetLoadBalanceServer(); //參數傳遞的委派 ParameterizedThreadStart ts = new ParameterizedThreadStart(EnterPlayer); //建立20個Thread 模擬20個不同來源,並且加入20個遊戲玩家 for (int i = 0; i < 20; i++) { Thread t = new Thread(ts); t.Start("player " + i); } ///印出當前3台Server的狀況 LoadBalanceServer.GetLoadBalanceServer().ShowServerInfo(); }