From 7c943f4f733dee1f00f00853a5132f48fecaac4c Mon Sep 17 00:00:00 2001 From: shinichi Date: Wed, 7 Oct 2020 11:54:47 +0200 Subject: [PATCH] fix --- Server/Client.cs | 2 +- Server/SaveData.cs | 28 ++++++++++++++++++++-------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/Server/Client.cs b/Server/Client.cs index 34cae9f..ccf39fd 100644 --- a/Server/Client.cs +++ b/Server/Client.cs @@ -154,7 +154,7 @@ namespace Server temp++; if (temp > 50) { - Console.WriteLine(BitConverter.ToString(this.saveData?.getBPMgraphData(100, 1))); + Console.WriteLine(BitConverter.ToString(this.saveData?.getBPMgraphData(10, 2))); temp = 0; } } diff --git a/Server/SaveData.cs b/Server/SaveData.cs index d8e1401..2e78392 100644 --- a/Server/SaveData.cs +++ b/Server/SaveData.cs @@ -63,12 +63,20 @@ namespace Server { // do nothing } - using (BinaryWriter sw = new BinaryWriter(File.Open(fileLocation, FileMode.Create))) + using (var fileStream = new FileStream(fileLocation, FileMode.Append, FileAccess.Write, FileShare.None)) + using (var bw = new BinaryWriter(fileStream)) { - sw.Seek(length, SeekOrigin.End); - sw.Write(data); - sw.Flush(); + //sw.BaseStream.Seek(length, SeekOrigin.Begin); + bw.Write(data); + bw.Flush(); + //Console.WriteLine("wrote at " + bw.BaseStream.Position); } + //using (BinaryReader binaryReader = new BinaryReader(File.Open(fileLocation, FileMode.Open))) + //{ + // byte[] totalArray = new byte[binaryReader.BaseStream.Length]; + // binaryReader.BaseStream.Read(totalArray, 0, (int)binaryReader.BaseStream.Length); + // Console.WriteLine("all data is " + BitConverter.ToString(totalArray)); + //} } /// @@ -86,7 +94,7 @@ namespace Server { FileInfo fi = new FileInfo(this.path + rawBPMFilename); int length = (int)fi.Length; - Console.WriteLine("length " + length); + //Console.WriteLine("length " + length); byte[] output = new byte[outputSize]; @@ -94,16 +102,20 @@ namespace Server int readSize = messageSize * averageOver; byte[] readBuffer = new byte[readSize]; - using (FileStream fileStream = new FileStream(this.path + rawBPMFilename, FileMode.Open, FileAccess.Read)) + using (BinaryReader binaryReader = new BinaryReader(File.Open(this.path + rawBPMFilename, FileMode.Open))) { + //byte[] totalArray = new byte[binaryReader.BaseStream.Length]; + //binaryReader.BaseStream.Read(totalArray, 0, (int)binaryReader.BaseStream.Length); + //Console.WriteLine("all data is " + BitConverter.ToString(totalArray)); for (int i = 1; i <= outputSize; i++) { if (length - (i * readSize) < 0) { break; } - Console.WriteLine("reading " + (length - (i * readSize) - 1) + " and size " + readSize); - fileStream.Read(readBuffer, length - (i * readSize) - 1, readSize); + binaryReader.BaseStream.Seek(length - (i * readSize), SeekOrigin.Begin); + binaryReader.BaseStream.Read(readBuffer, 0, readSize); + //Console.WriteLine("read " + binaryReader.BaseStream.Position + " and size " + readSize + " with value " + BitConverter.ToString(readBuffer)); //handling data int total = 0;