Beispiel #1
0
 //-------------------------------------------------------------------------------------------------------------------------
 // 处理接收到的所有消息
 protected void processInput()
 {
     // 等待解锁接收流的读写,并锁定接收流
     lock (mRecieveList)
     {
         int receiveCount = mRecieveList.Count;
         for (int i = 0; i < receiveCount; ++i)
         {
             INPUT_ELEMENT element     = mRecieveList[i];
             SocketPacket  packetReply = createPacket(element.mType);
             packetReply.read(element.mData);
             packetReply.execute();
         }
         mRecieveList.Clear();
     }
 }
Beispiel #2
0
    //-------------------------------------------------------------------------------------------------------------------------
    protected void processInput()
    {
        // 等待解锁接收流的读写,并锁定接收流
        mInputLock.waitForUnlock();
        int receiveCount = mRecieveList.Count;

        for (int i = 0; i < receiveCount; ++i)
        {
            mInputList.Add(mRecieveList[i]);
        }
        mRecieveList.Clear();
        mInputLock.unlock();

        int streamCount = mInputList.Count;

        for (int i = 0; i < streamCount; ++i)
        {
            INPUT_ELEMENT element     = mInputList[i];
            SocketPacket  packetReply = createPacket(element.mType);
            packetReply.readData(element.mData, element.mDataSize);
            packetReply.execute();
        }
        mInputList.Clear();
    }