Lidgren.Network.NetBuffer.ReadString C# (CSharp) Méthode

ReadString() public méthode

Reads a string written using Write(string) and returns true for success
public ReadString ( string &result ) : bool
result string
Résultat bool
        public bool ReadString(out string result)
        {
            uint byteLen;
            if (ReadVariableUInt32(out byteLen) == false)
            {
                result = String.Empty;
                return false;
            }

            if (byteLen <= 0)
            {
                result = String.Empty;
                return true;
            }

            if (m_bitLength - m_readPosition < (byteLen * 8))
            {
                result = String.Empty;
                return false;
            }

            if ((m_readPosition & 7) == 0)
            {
                // read directly
                result = System.Text.Encoding.UTF8.GetString(m_data, m_readPosition >> 3, (int)byteLen);
                m_readPosition += (8 * (int)byteLen);
                return true;
            }

            byte[] bytes;
            if (ReadBytes((int)byteLen, out bytes) == false)
            {
                result = String.Empty;
                return false;
            }

            result = System.Text.Encoding.UTF8.GetString(bytes, 0, bytes.Length);
            return true;
        }

Same methods

NetBuffer::ReadString ( ) : string

Usage Example

        private void receive()
        {
            NetBuffer buffer = new NetBuffer();

            bool keepGoing = true;
            while (keepGoing)
            {
                NetIncomingMessage message;
                while ((message = client.ReadMessage()) != null)
                {
                    switch (message.MessageType)
                    {
                        case NetIncomingMessageType.DebugMessage:
                            Console.WriteLine(buffer.ReadString());
                            break;

                        case NetIncomingMessageType.StatusChanged:
                            Console.WriteLine("New status: " + client.Status + " (Reason: " + buffer.ReadString() + ")");
                            if(client.Status != NetPeerStatus.Running)
                            {
                                keepGoing = false;
                                break;
                            }
                            break;

                        case NetIncomingMessageType.Data:
                            // Handle data in buffer here
                            break;
                    }
                }
            }
        }
All Usage Examples Of Lidgren.Network.NetBuffer::ReadString