Exemple #1
0
        public void Run()
        {
            //ByteRecycler must be allowed to allocate the size of the biggest message
            ByteRecycler.AddPoolSize(128 * 1024 * 1024);
            NetworkHandler <StateObject> handler = new NetworkHandler <StateObject>(false);

            handler.RegisterConnectCallback(Connected);
            handler.RegisterDisconnectCallback(Disconnected);
            handler.RegisterCallback(0, GotMessage);
            handler.RegisterCallback(1, RelayReliable);
            DarkNetwork <StateObject> dn = new DarkNetwork <StateObject>();

            dn.SetupServer(new IPEndPoint(IPAddress.IPv6Any, 12345), handler);
            int messageID = 0;

            while (true)
            {
                NetworkMessage nm        = NetworkMessage.Create(0, 2048, NetworkMessageType.UNORDERED_UNRELIABLE);
                byte[]         sendBytes = Encoding.UTF8.GetBytes("Message " + messageID++);
                Array.Copy(sendBytes, 0, nm.data.data, 0, sendBytes.Length);
                nm.data.size = sendBytes.Length;
                handler.SendMessageToAll(nm);
                //Recycler<NetworkMessage>.GarbageCollect(500, 1000);
                //ByteRecycler.GarbageCollect(2048, 500, 1000);
                //ByteRecycler.GarbageCollect(128 * 1024 * 1024, 2, 4);
                //PrintRecyclerStats();
                Thread.Sleep(1000);
            }
        }
Exemple #2
0
        public void Run()
        {
            r.NextBytes(randomBytes);
            //ByteRecycler must be allowed to allocate the size of the biggest message
            ByteRecycler.AddPoolSize(128 * 1024 * 1024);
            NetworkHandler <StateObject> handler = new NetworkHandler <StateObject>(false);

            handler.RegisterConnectCallback(Connected);
            handler.RegisterDisconnectCallback(Disconnected);
            handler.RegisterCallback(0, GotMessage);
            handler.RegisterCallback(1, ReliableReceive);
            DarkNetwork <StateObject> dn = new DarkNetwork <StateObject>();
            IPAddress netAddr            = IPAddress.Parse("2403:5800:9100:5b00:76da:38ff:fea3:9dbe");

            dn.SetupClient(new IPEndPoint(netAddr, 12345), handler);
            Thread.Sleep(1000);
            NetworkMessage nmbig = NetworkMessage.Create(1, randomBytes.Length, NetworkMessageType.ORDERED_RELIABLE);

            Array.Copy(randomBytes, 0, nmbig.data.data, 0, randomBytes.Length);
            handler.SendMessage(nmbig);
            int messageID = 0;

            while (running)
            {
                NetworkMessage nm        = NetworkMessage.Create(0, 2048, NetworkMessageType.ORDERED_UNRELIABLE);
                byte[]         sendBytes = Encoding.UTF8.GetBytes("Message " + messageID++);
                Array.Copy(sendBytes, 0, nm.data.data, 0, sendBytes.Length);
                nm.data.size = sendBytes.Length;
                handler.SendMessage(nm);
                //Recycler<NetworkMessage>.GarbageCollect(500, 1000);
                //ByteRecycler.GarbageCollect(2048, 500, 1000);
                //ByteRecycler.GarbageCollect(128 * 1024 * 1024, 2, 4);
                //PrintRecyclerStats();
                Thread.Sleep(1000);
            }
            dn.Shutdown();
        }