public void ReceivePackage() { AsyncCallback callback = null; callback = ar => { int bytesRead = _stream.EndRead(ar); var data = new byte[bytesRead]; Array.Copy(_buffer, data, bytesRead); if (_isNotMoreToRead) { _stream.BeginRead(_buffer, _offset, _count, callback, null); } using (var stream = new MemoryStream(data)) { ServerPackage package = null; do { package = _factory.GetNextPackage(stream); if (package != null) { _game.SetPackage(package); } } while (package != null); } }; _stream.BeginRead(_buffer, _offset, _count, callback, null); }
public void GetNextPackageEmptyTest() { var data = new byte[] { 0, 0, 0, 0 }; ServerPackage package = null; using (var stream = new MemoryStream(data)) { Console.WriteLine(stream.Length); package = _factory.GetNextPackage(stream); } Assert.Null(package); }