void ReadSocket()
{
byte[] readBuffer = new byte[1024 * 256];
int offset = 0;
while (true)
{
int recieved = mSocket.Receive(readBuffer, offset, readBuffer.Length - offset, SocketFlags.None);
if (recieved > 0)
{
int dataSize = offset + recieved;
int consumed = DisptachPacket(readBuffer, dataSize);
if (consumed < dataSize)
{
int remaining = dataSize - consumed;
byte[] temp = new byte[remaining];
Array.Copy(readBuffer, consumed, temp, 0, remaining);
Array.Copy(temp, readBuffer, remaining);
offset = remaining;
}
else
offset = 0;
}
}
}