Слушатель 32 футов с несколькими устройствами - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь использовать библиотеку 32feet для получения данных с устройства Android.

Я использую код прослушивателя 32feet bluetooth, указанный ниже:

    public partial class Form1 : Form
    {
        BluetoothListener listener;
        public Form1()
        {
            InitializeComponent(); 

        }

        private void button3_Click(object sender, EventArgs e)
        {
            listener.Stop();
            listener.Start(10);
            listener.BeginAcceptBluetoothClient(new AsyncCallback(AcceptConnection), l);
            richTextBox1.BeginInvoke((Action)(() =>
            {
                richTextBox1.Text = "Waiting device...";
            }));
        }

        void AcceptConnection(IAsyncResult result)
        {
            if (result.IsCompleted)
            {
                BluetoothClient remoteDevice = ((BluetoothListener)result.AsyncState).EndAcceptBluetoothClient(result);
            check:
                stream = remoteDevice.GetStream();
                    if (stream.CanRead)
                    {
                        byte[] myReadBuffer = new byte[1024];
                        StringBuilder myCompleteMessage = new StringBuilder();
                        int numberOfBytesRead = 0;
                        do
                        {
                            numberOfBytesRead = stream.Read(myReadBuffer, 0, myReadBuffer.Length);

                            myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
                        }
                        while (stream.DataAvailable);
                        richTextBox1.BeginInvoke((Action)(() =>
                        {
                            richTextBox1.Text = "Incomming data: " + myCompleteMessage.ToString();
                        }));
                    }
               goto check;
            }
        }
    }

Если я не не использовать команду goto, я получаю данные только один раз ... затем я добавляю goto, чтобы продолжать проверять, есть ли какие-либо данные, которые читают или нет ...

Проблема в том, что я хочу соединить два Android устройств одновременно, подключение вроде бы в порядке, но я получаю данные только от одного устройства (первое подключенное - возможно, из-за перехода) ...

Как я могу изменить этот код продолжать получать данные, но со всех подключенных устройств?

Спасибо!

...