public NetworkMessageRecoder(string filename, IMessageTypeInfo messageTypeInfo)
        {
            _messageTypeInfo = messageTypeInfo;

            _fileAppender = new BinaryFileAppender(filename);
            new NetworkMessageRecoderThread("recoderThread", this).Start();
        }
Esempio n. 2
0
 public NetworkMessageReplay(string fileName, IMessageTypeInfo messageTypeInfo)
 {
     _fileName        = fileName;
     _reader          = new BinaryFileReader(fileName);
     _messageTypeInfo = messageTypeInfo;
     _thread          = new NetworkMessageReplayThread("replay", this);
     _thread.Start();
 }
Esempio n. 3
0
            public bool ReadFrom(BinaryFileReader filerReader, IMessageTypeInfo messageTypeInfo)
            {
                try
                {
                    var readerReader = filerReader.Reader;
                    Stage       = readerReader.ReadInt32();
                    ProcessSeq  = readerReader.ReadInt32();
                    ChannelId   = readerReader.ReadInt32();
                    MessageType = readerReader.ReadInt32();

                    int Lenght = readerReader.ReadInt32();
                    //_logger.InfoFormat("ReadFrom:{0}, {1} ,{2}",this, Lenght,filerReader.Offset);
                    VNetPacketMemSteam memoryStream = VNetPacketMemSteam.Allocate();
                    try
                    {
                        var b = readerReader.ReadBytes(Lenght);
                        memoryStream.Stream.Write(b, 0, b.Length);
                        memoryStream.Stream.Seek(0, SeekOrigin.Begin);
                        var serializeInfo = messageTypeInfo.GetSerializeInfo(MessageType);
                        if (serializeInfo != null)
                        {
                            try
                            {
                                MessageBody = serializeInfo.Deserialize(memoryStream.Stream);
                                return(true);
                            }
                            catch (Exception e)
                            {
                                _logger.ErrorFormat("{0} {1}", memoryStream.Stream.Position, e);
                            }
                        }
                    }
                    finally
                    {
                        memoryStream.ReleaseReference();
                    }
                }
                catch (Exception e)
                {
                    _logger.ErrorFormat("{0}", e);
                }

                return(false);
            }
 public NetworkMessageSerializer(IMessageTypeInfo messageTypeInfo)
 {
     _messageTypeInfo = messageTypeInfo;
 }