public NetworkMessageRecoder(string filename, IMessageTypeInfo messageTypeInfo) { _messageTypeInfo = messageTypeInfo; _fileAppender = new BinaryFileAppender(filename); new NetworkMessageRecoderThread("recoderThread", this).Start(); }
public NetworkMessageReplay(string fileName, IMessageTypeInfo messageTypeInfo) { _fileName = fileName; _reader = new BinaryFileReader(fileName); _messageTypeInfo = messageTypeInfo; _thread = new NetworkMessageReplayThread("replay", this); _thread.Start(); }
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; }