private void receiveCallback(IAsyncResult result)
        {
            lock (thisLock)
            {
                socketEndpointCommunication serverMessage = (socketEndpointCommunication)result.AsyncState;
                try
                {
                    int    bytestoread = serverMessage.getSocket().EndReceive(result);
                    string text        = Encoding.UTF8.GetString(serverMessage.getBuffer(), 0, bytestoread).Replace("\0", string.Empty);

                    if (text != "")
                    {
                        serverMessage.getSocket().BeginReceive(serverMessage.getBuffer(), 0, endpoint.getBufferLength(), SocketFlags.None, new AsyncCallback(receiveCallback), serverMessage);
                        protAnalyseFunction(text);
                        serverMessage.clearBuffer();
                    }
                }
                catch (Exception e)
                {
                    //MessageBox.Show(e.ToString());
                    return;
                }
            }
        }