Exemplo n.º 1
0
        /// <summary>
        /// 增加玩家進入Server
        /// </summary>
        /// <param name="playerName"></param>
        static void EnterPlayer(object playerName)
        {
            //載入Server
            LoadBalanceServer lbs = LoadBalanceServer.GetLoadBalanceServer();

            lbs.GetLobbyServer().EnterPlayer(playerName.ToString());
        }
Exemplo n.º 2
0
 /// <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);
 }
Exemplo n.º 3
0
        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();
        }