1
0
mirror of https://github.com/lidgren/lidgren-network-gen3.git synced 2026-05-06 02:11:06 +09:00
Files
lidgren-network-gen3/UnitTests/Program.cs
2010-06-11 11:56:47 +00:00

60 lines
1.6 KiB
C#

using System;
using System.Reflection;
using Lidgren.Network;
namespace UnitTests
{
class Program
{
static void Main(string[] args)
{
NetPeerConfiguration config = new NetPeerConfiguration("unittests");
NetPeer peer = new NetPeer(config);
peer.Start(); // needed for initialization
System.Threading.Thread.Sleep(50);
Console.WriteLine("Unique identifier is " + NetUtility.ToHexString(peer.UniqueIdentifier));
ReadWriteTests.Run(peer);
NetQueueTests.Run();
MiscTests.Run(peer);
BitVectorTests.Run();
EncryptionTests.Run(peer);
peer.Shutdown("bye");
// read all message
NetIncomingMessage inc;
while((inc = peer.ReadMessage()) != null)
{
switch(inc.MessageType)
{
case NetIncomingMessageType.DebugMessage:
case NetIncomingMessageType.VerboseDebugMessage:
case NetIncomingMessageType.WarningMessage:
case NetIncomingMessageType.ErrorMessage:
Console.WriteLine("Peer message: " + inc.ReadString());
break;
case NetIncomingMessageType.Error:
throw new Exception("Received error message!");
}
}
Console.ReadKey();
}
public static NetIncomingMessage CreateIncomingMessage(byte[] fromData, int bitLength)
{
NetIncomingMessage inc = (NetIncomingMessage)Activator.CreateInstance(typeof(NetIncomingMessage), true);
typeof(NetIncomingMessage).GetField("m_data", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(inc, fromData);
typeof(NetIncomingMessage).GetField("m_bitLength", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(inc, bitLength);
return inc;
}
}
}