Ejemplo n.º 1
0
        public void ReceiveThread()
        {
            while (IsActive && socket.Connected)
            {
                try
                {
                    byte[] buffer = new byte[4];
                    for (int i = 0; i < 10; i++)
                    {
                        uint pid = BitConverter.ToUInt32(ReadWait(stream.baseStream, 4), 0);
                        uint len = BitConverter.ToUInt32(ReadWait(stream.baseStream, 4), 0);

                        byte[] data = ReadWait(stream.baseStream, (int)len);

                        qLuaPacket packet = new qLuaPacket(pid);
                        packet.data   = data;
                        packet.sender = this;
                        receiveQueue.Enqueue(packet);
                    }
                }
                catch (Exception ex)
                {
                    plugin.log.Info("qlay->socket", "Net msg " + ex.Message);
                }
                Thread.Sleep(1);
            }
        }
Ejemplo n.º 2
0
 public void Send(qLuaPacket packet)
 {
     if (IsActive)
     {
         MemoryStream memoryStream = packet.stream.baseStream as MemoryStream;
         packet.data = memoryStream.ToArray();
         sendQueue.Enqueue(packet);
     }
 }
Ejemplo n.º 3
0
        public DynValue Packet(uint id)
        {
            qLuaPacket packet = new qLuaPacket(id);

            return(UserData.Create(packet));
        }