コード例 #1
0
        /// <summary>
        /// 初始化token池,BaseServer的子类可以重载该方法以填充 BaseToken 的子类
        /// </summary>
        /// <param name="c"></param>
        /// <param name="coding"></param>
        public virtual void Init(AbsHandlerCenter c)
        {
            //Console.WriteLine("绑定消息处理中心");
            Debugger.Log("绑定消息处理中心");
            center = c;

            //Console.WriteLine("初始化token池");
            Debugger.Log("初始化token池");
            tokens = new ObjPool <BaseToken>(maxConn);
            for (int i = 0; i < maxConn; i++)
            {
                T2 t = Activator.CreateInstance <T2>();
                t.Init(c);
                t.CloseDe = ClientClose;
                tokens.Push(t);
            }
        }
コード例 #2
0
 public ServerCenter(int port,
                     int maxUser,
                     int receiveBufferSize,
                     AbsHandlerCenter messageHandler)
 {
     this.messageHandler = messageHandler;
     userPool            = new UserTokenPool(maxUser);
     for (int i = 0; i < maxUser; i++)
     {
         UserToken token = new UserToken(receiveBufferSize);
         token.CC             = ClientClose;
         token.LD             = LengthEncoding.decode;
         token.LE             = LengthEncoding.encode;
         token.SD             = MessageEncoding.Decode;
         token.SE             = MessageEncoding.Encode;
         token.messageHandler = messageHandler;
         userPool.Push(token);
     }
     listenServer = new ListenServer(maxUser, ProcessAccept);
     listenServer.Init();
     listenServer.Start(port);
 }
コード例 #3
0
 public void Init(AbsHandlerCenter c)
 {
     center = c;
 }