Bluetooth - komunikacja z laptopem

Bluetooth - komunikacja z laptopem
SI
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 10 lat
  • Postów:1
0
Kopiuj
Boolean buscando = true;
            BluetoothClient client = null;
            do
            {
                Console.WriteLine("TUTAJ1");
                client = btListener.AcceptBluetoothClient();//jak wejdzie tutaj drugi raz to nie wychodzi 
                
                Console.WriteLine("TUTAJ2");
                stream = client.GetStream();
                if (stream.CanRead)
                {
                    byte[] myReadBuffer = new byte[1024];
                    StringBuilder myCompleteMessage = new StringBuilder();
                    int numberOfBytesRead = 0;

                    // Incoming message may be larger than the buffer size. 
                    do
                    {
                        numberOfBytesRead = stream.Read(myReadBuffer, 0, myReadBuffer.Length);
                        

                        myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
                        

                    }
                    while (stream.DataAvailable);
                    int a = int.Parse(Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
                    Console.WriteLine(a.ToString());
                    stream = null;
                    VirtualMouse.Move(a, 0);




                    Console.WriteLine("You received the following message : " + myCompleteMessage);
                }
                client = null; // zakomentowane czy nie nie działa 
                //btListener.Stop();
                buscando = true;
            } while (buscando);
        }


    } 

Używam biblioteki od InTheHand. Odbieram już pierwszego stringa wysłanego z telefonu. Lecz po wysłaniu drugiego już nie mogę odebrać i muszę wyłączyć i włączyć od nowa program. Wtedy obierze znowu tylko jedną wiadomość.

Kopiuj
client = btListener.AcceptBluetoothClient(); 

Nie wychodzi mi z tej metody jak wejdzie drugi raz.

Saguaro
  • Rejestracja:około 10 lat
  • Ostatnio:około 10 lat
  • Postów:9
0

Zapewne zbyt wiele ten post nie pomoże, lecz przede wszystkim debuguj. Sprawdź konkretnie na jakiej metodzie się zawiesza, przeanalizuj czy parametry tej metody są takie same za pierwszym i drugim razem, czy nie trzeba zwolnić tego zasobu po odczytaniu pierwszego ciągu, bo biblioteka, którą używasz nie jest zbyt powszechna, więc masz małe szanse na odnalezienie tutaj kogoś, kto powie Ci konkretnie o co chodzi, tym bardziej z takiego skrawka kodu, który do analizy trzeba w jakiejś przykładowej aplikacji zaimplementować.

edytowany 1x, ostatnio: Saguaro

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.