Пример #1
0
        static void Main(string[] args)
        {
            var client = new NetworkerClientBuilder().UseConsoleLogger()
                         .UseIp("127.0.0.1")
                         .UseTcp(1000)
                         .UseUdp(1001, 1002)
                         .RegisterPacketHandler <ChatMessageReceivedPacket,
                                                 ChatMessageReceivedPacketHandler>()
                         .RegisterPacketHandler <ServerInformationResponsePacket,
                                                 ServerInformationResponsePacketHandler>()
                         .Build <ExampleClient>()
                         .Connect();

            client.Connected += (sender, socket) => { Console.WriteLine("Client connected event invoked"); };

            client.Disconnected += (sender, socket) =>
            {
                Console.WriteLine("Client disconnected event invoked");
            };

            client.Send(new ChatMessageDispatchPacket
            {
                Message = "I am the message",
                Sender  = "The Sender"
            });

            client.Send(new ChatMessageDispatchPacket
            {
                Message = "I am a UDP message",
                Sender  = "The Sender (UDP)"
            },
                        NetworkerProtocol.Udp);

            new Thread(new ThreadStart(() =>
            {
                for (var j = 0; j < 3; j++)
                {
                    new Thread(new ThreadStart(() =>
                    {
                        while (true)
                        {
                            client.Send(
                                new
                                ChatMessageDispatchPacket
                            {
                                Message =
                                    "Time to spam some UDP"
                                    + j,
                                Sender =
                                    "UDP Spam" + j
                            },
                                NetworkerProtocol.Udp);
                            Thread.Sleep(1);
                        }
                    })).Start();
                }
            })).Start();

            Console.ReadLine();
            Console.ReadLine();
        }
Пример #2
0
        private static void Main(string[] args)
        {
            var server = new NetworkerServerBuilder().UseConsoleLogger()
                         .UseIpAddresses(new[] { "127.0.0.1" })
                         .UseTcp(1000)
                         .UseUdp(1001, 1002)
                         .RegisterPacketHandler <ChatMessageDispatchPacket,
                                                 ChatMessageDispatchPacketHandler>()
                         .RegisterPacketHandler <ServerInformationRequestPacket,
                                                 ServerInformationRequestPacketHandler>()
                         .Build <ExampleServer>()
                         .Start();

            server.ClientConnected += (sender, eventArgs) =>
            {
                Console.WriteLine("Connected");
            };

            server.ClientDisconnected += (sender, eventArgs) =>
            {
                Console.WriteLine("Disconnected");
            };

            var client = new NetworkerClientBuilder().UseConsoleLogger()
                         .UseIp("127.0.0.1")
                         .UseTcp(1000)
                         .UseUdp(1001, 1002)
                         .RegisterPacketHandler <ChatMessageReceivedPacket,
                                                 ChatMessageReceivedPacketHandler>()
                         .RegisterPacketHandler <ServerInformationResponsePacket,
                                                 ServerInformationResponsePacketHandler>()
                         .Build <ExampleClient>()
                         .Connect();

            client.Send(new ChatMessageDispatchPacket
            {
                Message = "I am the message",
                Sender  = "The Sender"
            });

            client.Send(new ChatMessageDispatchPacket
            {
                Message = "I am a UDP message",
                Sender  = "The Sender (UDP)"
            },
                        NetworkerProtocol.Udp);



            new Thread(() =>
            {
                while (true)
                {
                    server.Broadcast(new ServerInformationResponsePacket
                    {
                        MachineName =
                            Environment
                            .MachineName
                    });

                    Console.WriteLine($"Ping: {client.Ping()}");

                    Thread.Sleep(5000);
                }
            }).Start();

            /*
             * for(var i = 0; i < 100; i++)
             * {
             *   Task.Factory.StartNew(() =>
             *                         {
             *                             client.Send(new ChatMessageDispatchPacket
             *                                         {
             *                                             Message =
             *                                                 "Performance Testing",
             *                                             Sender = "System"
             *                                         });
             *                         });
             * }
             *
             * for(var i = 0; i < 1000; i++)
             * {
             *   client.SendAndHandleResponse(new ServerInformationRequestPacket(),
             *       new Action<ServerInformationResponsePacket>(e =>
             *                                                   {
             *                                                       client
             *                                                           .Container.Resolve<INetworkerLogger>()
             *                                                           .Trace(
             *                                                               $"I am sync, my transaction ID is {e.TransactionId}. {e.MachineName}");
             *                                                   }));
             * }
             *
             * client.SendAndHandleResponse(new ServerInformationRequestPacket());
             *
             * client.SendAndHandleResponseAsync(new ServerInformationRequestPacket(),
             *   new Action<ServerInformationResponsePacket>(e =>
             *                                               {
             *                                                   client.Container.Resolve<INetworkerLogger>()
             *                                                         .Trace(
             *                                                             $"I am async, my transaction ID is {e.TransactionId}. {e.MachineName}");
             *                                               }));*/
        }