Пример #1
0
        public USocket NewSocket(SocketListner listener, Protocal protocal)
        {
            ShortUSocket socket = null;

            if (_lstPool.Count == 0)
            {
                socket    = new ShortUSocket(listener, protocal);
                socket.ID = _nIDIndex++;
                Debug.Log("<color=cyan>" + "创建" + socket.ID + "号Socket" + "</color>");
            }
            else
            {
                socket = _lstPool.Dequeue();
                socket.setLister(listener);
                socket.setProtocal(protocal);
                Debug.Log("<color=cyan>" + "直接使用" + socket.ID + "号Socket" + "</color>");
            }
            socket.IsInPool     = false;
            socket._actionClose = OnShortSocketClose;
            return(socket);
        }
Пример #2
0
 void OnShortSocketClose(ShortUSocket socket)
 {
     Debug.Log("<color=cyan>" + socket.ID + "关闭了,入池 ~~" + "</color>");
     socket.IsInPool = true;
     _lstPool.Enqueue(socket);
 }