diff --git a/Lidgren.Network/Lidgren.Network.csproj b/Lidgren.Network/Lidgren.Network.csproj
index 82f264d..829602c 100644
--- a/Lidgren.Network/Lidgren.Network.csproj
+++ b/Lidgren.Network/Lidgren.Network.csproj
@@ -56,11 +56,13 @@
+
+
diff --git a/Lidgren.Network/NetConnection.cs b/Lidgren.Network/NetConnection.cs
index 17c10a7..9ca5280 100644
--- a/Lidgren.Network/NetConnection.cs
+++ b/Lidgren.Network/NetConnection.cs
@@ -537,7 +537,10 @@ namespace Lidgren.Network
int offset = nr * info.FragmentSize;
if (im.m_data.Length < offset + payloadLength)
- Array.Resize(ref im.m_data, offset + payloadLength);
+ {
+ byte[] arr = im.m_data;
+ Array.Resize(ref arr, offset + payloadLength);
+ }
Buffer.BlockCopy(m_owner.m_receiveBuffer, ptr, im.m_data, offset, payloadLength);
diff --git a/Lidgren.Network/NetIncomingMessage.Read.cs b/Lidgren.Network/NetIncomingMessage.Read.cs
index 7224b60..fb3c8a0 100644
--- a/Lidgren.Network/NetIncomingMessage.Read.cs
+++ b/Lidgren.Network/NetIncomingMessage.Read.cs
@@ -35,10 +35,10 @@ namespace Lidgren.Network
///
/// Gets or sets the read position in the buffer, in bits (not bytes)
///
- public int Position
+ public override long Position // override of Stream property
{
- get { return m_readPosition; }
- set { m_readPosition = value; }
+ get { return (long)m_readPosition; }
+ set { m_readPosition = (int)value; }
}
static NetIncomingMessage()
diff --git a/Lidgren.Network/NetIncomingMessage.Write.cs b/Lidgren.Network/NetIncomingMessage.Write.cs
index bce7c3a..5a641df 100644
--- a/Lidgren.Network/NetIncomingMessage.Write.cs
+++ b/Lidgren.Network/NetIncomingMessage.Write.cs
@@ -88,7 +88,12 @@ namespace Lidgren.Network
m_bitLength += bits;
}
- internal void Write(byte[] source, int offsetInBytes, int numberOfBytes)
+ public override void Write(byte[] source, int offsetInBytes, int numberOfBytes)
+ {
+ throw new NetException("NetIncomingMessage does not support writing!");
+ }
+
+ internal void WriteBytes(byte[] source, int offsetInBytes, int numberOfBytes)
{
if (source == null)
throw new ArgumentNullException("source");
diff --git a/Lidgren.Network/NetOutgoingMessage.Write.cs b/Lidgren.Network/NetOutgoingMessage.Write.cs
index 6de51a9..af3d201 100644
--- a/Lidgren.Network/NetOutgoingMessage.Write.cs
+++ b/Lidgren.Network/NetOutgoingMessage.Write.cs
@@ -160,7 +160,7 @@ namespace Lidgren.Network
m_bitLength += bits;
}
- public void Write(byte[] source, int offsetInBytes, int numberOfBytes)
+ public override void Write(byte[] source, int offsetInBytes, int numberOfBytes)
{
if (source == null)
throw new ArgumentNullException("source");
diff --git a/Samples/ManyServer/Program.cs b/Samples/ManyServer/Program.cs
index be3f5e7..858c8c1 100644
--- a/Samples/ManyServer/Program.cs
+++ b/Samples/ManyServer/Program.cs
@@ -12,8 +12,6 @@ namespace ManyServer
public static Form1 MainForm;
public static NetServer Server;
- private static double m_lastUpdatedTitle;
-
[STAThread]
static void Main()
{
diff --git a/UnitTests/ReadWriteTests.cs b/UnitTests/ReadWriteTests.cs
index 12e18df..9b3b260 100644
--- a/UnitTests/ReadWriteTests.cs
+++ b/UnitTests/ReadWriteTests.cs
@@ -88,6 +88,25 @@ namespace UnitTests
NetException.Assert(readTest.Number == 42);
NetException.Assert(readTest.Name == "Hallon");
NetException.Assert(readTest.Age == 8.2f);
+
+ msg = peer.CreateMessage();
+
+ System.IO.BinaryWriter br = new System.IO.BinaryWriter(msg);
+
+ br.Write(true);
+ br.Write("hallon");
+ br.Write((byte)42);
+
+ int byteLen = msg.LengthBytes;
+ byte[] rbts = msg.PeekDataBuffer();
+
+ inc = Program.CreateIncomingMessage(rbts, msg.LengthBits);
+
+ System.IO.BinaryReader rdr = new System.IO.BinaryReader(inc);
+
+ bool one = rdr.ReadBoolean();
+ string hallon = rdr.ReadString();
+ byte fourtyTwo = rdr.ReadByte();
}
}