{
Trace.WriteLine("Data was received correctly.");
+ Assert.AreEqual(data.Length, args.Bytes.Length);
+
for (int i = 0; i < data.Length; i++)
{
Assert.AreEqual(data[i], args.Bytes[i]);
{
Trace.WriteLine("Data was received correctly.");
+ Assert.AreEqual(data.Length, innerArgs.Bytes.Length);
+
for (int i = 0; i < data.Length; i++)
{
Assert.AreEqual(data[i], innerArgs.Bytes[i]);
void FinalizeFragmentedMessage(FragmentedMessage message)
{
IEnumerable<FragmentedMessage.Fragment> orderedFragments = message.received.OrderBy((x) => x.fragmentID);
+ FragmentedMessage.Fragment last = orderedFragments.Last();
- byte[] completeData = new byte[(orderedFragments.Count() - 1) * FragmentSize + orderedFragments.Last().data.Length];
+ byte[] completeData = new byte[(orderedFragments.Count() - 1) * FragmentSize + last.data.Length - last.offset];
int ptr = 0;
foreach (FragmentedMessage.Fragment fragment in orderedFragments)
{
//If it's a new connection invoke the NewConnection event.
if (!aware)
{
- byte[] dataBuffer = new byte[buffer.Length - 1];
- Buffer.BlockCopy(buffer, 1, dataBuffer, 0, buffer.Length - 1);
+ byte[] dataBuffer = new byte[buffer.Length - 3];
+ Buffer.BlockCopy(buffer, 3, dataBuffer, 0, buffer.Length - 3);
InvokeNewConnection(dataBuffer, connection);
}
}