Возможно странный вопрос, но я не могу понять это. Я получаю данные из bluetoothstream, после того как через некоторое время прочитал все входящие данные. L oop Я хотел бы сравнить это сообщение. Но то, что происходит, это то, что он просто не завершит sh остальную часть кода. Этот код выглядит следующим образом:
public void beginListenForData()
{
try
{
inStream = btSocket.InputStream;
}
catch (IOException ex)
{
Console.WriteLine(ex.Message);
}
Task.Run(async() =>
{
while (true)
{
try
{
bytes = await inStream.ReadAsync(buffer, 0, buffer.Length);
while (bytes != 0)
{
eindtekst = String.Concat(eindtekst, Encoding.ASCII.GetString(buffer, 0, bytes));
Array.Clear(buffer, 0, buffer.Length);
bytes = await inStream.ReadAsync(buffer, 0, buffer.Length);
}
if (eindtekst == "D0O")
{
Array.Clear(buffer, 0, buffer.Length);
Xamarin.Forms.MessagingCenter.Send((IBluetoothService)this, "redButtonClicked");
eindtekst = "";
inStream.Flush();
inStream.Dispose();
inStream.Close();
}
else if (eindtekst == "StopTijd")
{
Array.Clear(buffer, 0, buffer.Length);
Xamarin.Forms.MessagingCenter.Send((IBluetoothService)this, "Win");
eindtekst = "";
inStream.Flush();
inStream.Dispose();
inStream.Close();
}
if (bytes == 0)
{
eindtekst = "";
inStream.Flush();
inStream.Dispose();
inStream.Close();
}
}
catch (IOException e)
{
System.Diagnostics.Debug.WriteLine("Fout bij het ontvangen " + e.Message);
break;
}
}
}).ConfigureAwait(false);
return;
}
Что я ожидал бы, так это то, что через некоторое время == 0 он остановится в этом случае, пока l oop и fini sh остальной код. Но, похоже, этого не происходит, он не завершит sh код, который возвращается к вызывающему методу без ошибок или около того.
Заранее спасибо