bool ProcessStatus; //processThread _UDPthreadConsme;private void btn_receive_Click(object sender, EventArgs e) { if (MessageQueue.Exists(@".\private$\myquelocal")) { ThreadStart _processrcs = new ThreadStart(receivemessages); _UDPthreadConsme = new Thread(_processrcs); ProcessStatus = true; _UDPthreadConsme.Start(); } }private void receivemessages() { MessageBox.Show("Start"); while (ProcessStatus) { try { // Connect to the a queue on the local computer. MessageQueue myQueue = new MessageQueue(@".\private$\myquelocal"); System.Messaging.Message[] myMessagecount = myQueue.GetAllMessages(); if (myMessagecount.Length <= 0) return; myQueue.Formatter = new BinaryMessageFormatter(); // Receive and format the message. System.Messaging.Message myMessage = myQueue.Receive(); byte[] buffer = (byte[])myMessage.Body; // here i convert buffer to its related structure and then insert the values in database sqlserver. } }