Exemplo n.º 1
0
        static void sendSomeMessages()
        {
            for (uint i = 0; i < 10000u; i++)
            {
                using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter())
                {
                    // write mask
                    writer.WriteUInt64(1);
                    // behaviour length
                    writer.WriteInt32(1);

                    // behaviour delta

                    //  sync object mask
                    writer.WriteUInt64(0);
                    // sync object delta
                    //      assume no sync objects for this test

                    // sync var mask
                    writer.WriteUInt64(1);
                    // sync var delta
                    //      assume sync var has changed its value to 10
                    writer.WriteInt32(10);


                    // send message
                    NetworkServer.localConnection.Send(new UpdateVarsMessage
                    {
                        netId   = i,
                        payload = writer.ToArraySegment()
                    });
                }
            }
        }
Exemplo n.º 2
0
        public void BufferCanWriteReadMorePackageAfterCallingReset()
        {
            const string expectedMessage = "Some Message";
            const float  expectedValue   = 46.8f;

            for (int i = 0; i < 5; i++)
            {
                using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter())
                {
                    writer.WriteInt32(i);
                    writer.WriteString(expectedMessage);
                    writer.WriteSingle(expectedValue);

                    buffer.Write(writer.ToArraySegment());
                }
                ArraySegment <byte> package = buffer.GetNextPacket();

                int    index;
                string message;
                float  value;
                using (PooledNetworkReader reader = NetworkReaderPool.GetReader(package))
                {
                    index   = reader.ReadInt32();
                    message = reader.ReadString();
                    value   = reader.ReadSingle();
                }

                Assert.That(index, Is.EqualTo(i));
                Assert.That(message, Is.EqualTo(expectedMessage));
                Assert.That(value, Is.EqualTo(expectedValue));

                buffer.ResetBuffer();
            }
        }
 static void WInt32()
 {
     using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter())
     {
         for (int i = 0; i < 1000; i++)
         {
             writer.WriteInt32(i * 1000);
         }
     }
 }
Exemplo n.º 4
0
        public IEnumerator SendMany()
        {
            Task <RunNode.Result> task = RunNode.RunAsync("ReceiveManyMessages.js", 5_000);

            yield return(server.WaitForConnection);

            const int messageCount = 100;

            for (int i = 0; i < messageCount; i++)
            {
                using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter())
                {
                    writer.WriteByte((byte)i);
                    writer.WriteInt32(100);

                    ArraySegment <byte> segment = writer.ToArraySegment();

                    server.ServerSend(new List <int> {
                        1
                    }, Channels.DefaultReliable, segment);
                }
            }

            yield return(new WaitForSeconds(1));

            server.ServerDisconnect(1);

            yield return(new WaitUntil(() => task.IsCompleted));

            RunNode.Result result = task.Result;

            string expectedFormat         = "length: 5 msg: {0:X2} 64 00 00 00";
            IEnumerable <string> expected = Enumerable.Range(0, messageCount).Select(i => string.Format(expectedFormat, i));

            result.AssetTimeout(false);
            result.AssetOutput(expected.ToArray());
            result.AssetErrors();
        }