public override void Shutdown() { sendStream.Clear(); recvStream.Clear(); operationQueue.Clear(); base.Shutdown(); }
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()); } } }
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); } }
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); }
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); }
public void Clear() { Reset(); networkStream.Clear(); }
public void Write(uint packetId, IDataSerializer packet) { packetStream.Clear(); packetStream.Write(packet); Write(packetId, packetStream); }
public void Clear() { networkStream.Clear(); }