BCNet.NodeConnection.ReadSocket C# (CSharp) Method

ReadSocket() public method

public ReadSocket ( ) : void
return void
        void ReadSocket()
        {
            byte[] readBuffer = new byte[1024 * 256];
            int offset = 0;
            while (true)
            {
                if (mSocket == null || !mSocket.Connected)
                {
                    mSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    Connect(mNodeAddress, mPort);
                }

                if (mSocket != null && mSocket.Connected && mSocket.Available > 0)
                {
                    try
                    {
                        int recieved = mSocket.Receive(readBuffer, offset, readBuffer.Length - offset, SocketFlags.None);
                        if (recieved > 0)
                        {
                            int dataSize = offset + recieved;
                            int consumed = DisptachPacket(readBuffer, dataSize);
                            if (consumed < dataSize)
                            {
                                int remaining = dataSize - consumed;
                                byte[] temp = new byte[remaining];
                                Array.Copy(readBuffer, consumed, temp, 0, remaining);
                                Array.Copy(temp, readBuffer, remaining);
                                offset = remaining;
                            }
                            else
                                offset = 0;
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }

                Thread.Sleep(100);
            }
        }