private void Start()
{
_packetDispatcher = new MethodSelector<Packet>(this, (ref Packet source, out string key) =>
{
key = source.PacketId.ToString();
source.SkipHeader();
});
_udp = new UDPClient();
_udp.EventRead += NetworkEvent_Receive;
_udp.EventClose += NetworkEvent_Close;
_udp.Connect("127.0.0.1", 10201);
_counter = new IntervalCounter(1000);
_counter.Start();
(new IntervalTimer(1000, () =>
{
DateTime now = DateTime.Now;
Console.WriteLine(string.Format("[{0}/{1} {2}:{3}:{4}] recv: {5}",
DateTime.Now.Month, DateTime.Now.Day,
DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second,
_counter.Value));
})).Start();
{
Packet reqPacket = new Packet(Protocol.Echo_Req);
Send(reqPacket);
}
}