当前位置: 首页>>代码示例>>C#>>正文


C# BitStream.ResetReadPointer方法代码示例

本文整理汇总了C#中BitStream.ResetReadPointer方法的典型用法代码示例。如果您正苦于以下问题:C# BitStream.ResetReadPointer方法的具体用法?C# BitStream.ResetReadPointer怎么用?C# BitStream.ResetReadPointer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BitStream的用法示例。


在下文中一共展示了BitStream.ResetReadPointer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main


//.........这里部分代码省略.........
                    Console.Write("Failed to initialize RakNet!.\nQuitting\n");
                    return 1;
                }
                if (localSystem.Connect("127.0.0.1", RELAY_SYSTEM_PORT, string.Empty, 0) == false)
                {
                    Console.Write("Connect call failed!.\nQuitting\n");
                    return 1;
                }

                Console.Write("Initialization complete. Sender system started. Connecting to relay...\n");
            }

            connectionCompleted = false;
            incomingConnectionCompleted = false;
            time = RakNetBindings.GetTime();
            lastSendTime = time;
            nextStatsTime = time + 2000; // First stat shows up in 2 seconds
            bytesInPackets = 0;

            while (time < quitTime || (connectionCompleted == false && incomingConnectionCompleted == false))
            {
                time = RakNetBindings.GetTime();
                // Parse messages
                while (true)
                {
                    p = localSystem.Receive();

                    if (p != null)
                    {
                        bytesInPackets += p.length;
                        BitStream inBitStream = new BitStream(p, false);
                        byte packetIdentifier;
                        inBitStream.Read(out packetIdentifier);
                        inBitStream.ResetReadPointer();
                        switch (packetIdentifier)
                        {
                            case RakNetBindings.ID_CONNECTION_REQUEST_ACCEPTED:
                                Console.Write("ID_CONNECTION_REQUEST_ACCEPTED.\n");
                                connectionCompleted = true;
                                // Timer starts when a connection has completed
                                if (systemType == 1 || systemType == 2)
                                    quitTime = quitTime * 1000 + time;
                                break;
                            case RakNetBindings.ID_DISCONNECTION_NOTIFICATION:
                                // Connection lost normally
                                Console.Write("ID_DISCONNECTION_NOTIFICATION.\n");
                                //		connectionCompleted=false;
                                break;
                            case RakNetBindings.ID_NEW_INCOMING_CONNECTION:
                                // Somebody connected.  We have their IP now
                                Console.Write("ID_NEW_INCOMING_CONNECTION.\n");
                                incomingConnectionCompleted = true;
                                // Timer starts when a new connection has come in
                                if (systemType == 0)
                                    quitTime = quitTime * 1000 + time;
                                if (systemType == 1 && connectionCompleted == false)
                                    Console.Write("Warning, relay connection to destination has not completed yet.\n");
                                break;

                            case RakNetBindings.ID_CONNECTION_LOST:
                                // Couldn't deliver a reliable packet - i.e. the other system was abnormally
                                // terminated
                                Console.Write("ID_CONNECTION_LOST.\n");
                                //	connectionCompleted=false;
                                break;
                            case RakNetBindings.ID_NO_FREE_INCOMING_CONNECTIONS:
开发者ID:JetCrusherTorpedo,项目名称:raknetdotnet,代码行数:67,代码来源:Program.cs


注:本文中的BitStream.ResetReadPointer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。