예제 #1
0
파일: XTcpServer.cs 프로젝트: oathx/myactx
    /// <summary>
    /// Update this instance.
    /// </summary>
    public virtual void     Update()
    {
        if (session != null)
        {
            Queue <INetPacket> recvQueue = session.GetPacketQueue();

            while (recvQueue.Count > 0)
            {
                INetPacket packet = null;

                lock (recvQueue) {
                    packet = recvQueue.Dequeue();
                }

                if (packet != null)
                {
                    netFunc.call(new XNetLuaPacket(packet));
                }
            }
        }
    }
예제 #2
0
 static public int GetPacketQueue(IntPtr l)
 {
     try {
         INetSession self = (INetSession)checkSelf(l);
         var         ret  = self.GetPacketQueue();
         pushValue(l, true);
         pushValue(l, ret);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }