Beispiel #1
0
        private void ReceiveCallback(IAsyncResult ar)
        {
            try
            {
                RecBuffer data  = (RecBuffer)ar.AsyncState;
                int       count = _socket.EndReceive(ar);
                if (count == 0)
                {
                    Debug.WriteLine(" Connection closed ");
                    return;
                }
                if (data.buff[count - 1] != STOP)
                {
                    data.rec.Append(Encoding.ASCII.GetString(data.buff, 0, count));

                    Debug.WriteLine(data.rec);
                    _socket.BeginReceive(data.buff, 0, BUF_SIZE, 0, new AsyncCallback(ReceiveCallback), data);
                }
                else
                {
                    data.rec.Append(Encoding.ASCII.GetString(data.buff, 0, count - 1));
                    RecData = data.rec.ToString();
                    Status  = ConnectionStatus.recieved;
                }
            }
            catch (Exception exc)
            {
                Error = -1;
                Debug.WriteLine(" Error while receiving data: " + exc.Message.ToString());
            }
        }
Beispiel #2
0
        public void Receive()
        {
            Status  = ConnectionStatus.receiving;
            RecData = "";
            RecBuffer buffer = new RecBuffer();

            try {
                _socket.BeginReceive(buffer.buff, 0, BUF_SIZE, 0, new AsyncCallback(ReceiveCallback), buffer);
            }
            catch (Exception exc)
            {
                Error = -1;
                Debug.WriteLine(" Error while receiving data: " + exc.Message.ToString());
            }
        }