Example #1
0
 public override void Shutdown()
 {
     sendStream.Clear();
     recvStream.Clear();
     operationQueue.Clear();
     base.Shutdown();
 }
Example #2
0
        public void Connect()
        {
            lock (socketLock)
            {
                if (IsWork)
                {
                    return;
                }
                IsWork = true;
                ConnectionData.ConnectionOpening();
            }
            ConnectionStatus = ConnectionData.IncludeDataBlock <ConnectionStatus>();

            EncDec = ConnectionStatus.EncDec;
            ReceiveStream.Clear();

            try
            {
                socket = ConnectionStatus.GameServer.Connect();
                StartReceive();

                if (Connected != null)
                {
                    Connected(this, new EventArgs());
                }
            }
            catch
            {
                IsWork = false;
                if (Disconnected != null)
                {
                    Disconnected(this, new EventArgs());
                }
            }
        }
Example #3
0
        public virtual void Send(SocketStateObject state, uint packetId, DataStream packetStream)
        {
            lock (sendStream)
            {
                sendStream.Clear();
                sendStream.WriteCompactUInt32(packetId);
                sendStream.Write(packetStream);

                state.Send(sendStream.Buffer, 0, sendStream.Count);
            }
        }
 public override void Shutdown()
 {
     // If data in the buffer has changed...
     if (_bufferItems != _buffer.Count)
     {
         //// Get a channel into the sequence's input channels.
         //Guid sequenceChannelId = _GetSequenceChannelId();
         //// Clear it.
         //_sequence.SequenceData.DataStreams.ClearStream(sequenceChannelId);
         //// Copy our buffered data to it.
         //_sequence.SequenceData.DataStreams.AddData(sequenceChannelId, _buffer);
         // Get the data stream for the recorded data.
         DataStream recordingStream = _GetRecordingStream();
         // Clear it.
         recordingStream.Clear();
         // Copy our buffered data to it.
         recordingStream.AddData(_buffer);
     }
 }
Example #5
0
        public override DataStream Serialize(DataStream ds)
        {
            var temp = new DataStream();

            foreach (var packetArgs in Packets)
            {
                if (packetArgs.Cancel)
                {
                    continue;
                }

                temp.Clear();

                var packet   = packetArgs.Packet;
                var packetId = packetArgs.PacketId;
                if (packetId.PacketType == PacketType.ServerContainer)
                {
                    temp.IsLittleEndian = true;

                    packet.Serialize(temp);
                    temp.PushFront(EndianBitConverter.Little.GetBytes((ushort)packetId.PacketId));
                    temp.PushFront(EndianBitConverter.Little.GetCompactUInt32Bytes((ushort)(temp.Count)));

                    ds.WriteCompactUInt32(0x22);
                    ds.Write(temp);
                }
                else
                {
                    temp.IsLittleEndian = false;

                    packet.Serialize(temp);

                    ds.WriteCompactUInt32(packetId.PacketId);
                    ds.Write(temp);
                }
            }
            return(ds);
        }
Example #6
0
        public byte[] Decode(byte[] buffer, int length)
        {
            byte[] data = new byte[length];

            Buffer.BlockCopy(buffer, 0, data, 0, length);

            if (dec == null || mppc == null)
            {
                return(data);
            }


            foreach (byte bt in data)
            {
                decBuffer.WriteBytes(mppc
                                     .Unpack(dec
                                             .Encode(bt)));
            }

            data = decBuffer.GetBytes();
            decBuffer.Clear();

            return(data);
        }
Example #7
0
 public void Clear()
 {
     Reset();
     networkStream.Clear();
 }
Example #8
0
 public void Write(uint packetId, IDataSerializer packet)
 {
     packetStream.Clear();
     packetStream.Write(packet);
     Write(packetId, packetStream);
 }
Example #9
0
 public void Clear()
 {
     networkStream.Clear();
 }