Я использую последнюю версию Xamarin Zebra SDK для печати на принтере ZQ520.Примерно 70% времени печати работает нормально .В остальные 30% случаев происходит сбой с ошибкой
"чтение не удалось, сокет может быть закрыт или истекло время ожидания, чтение ret: -1"
и принтер нуждаетсябыть выключенным / включенным для печати, чтобы работать.
Отправляемое содержимое является подписью и этикеткой, и я печатаю по небезопасному соединению Bluetooth.
Воспроизведение оказывается труднымошибка последовательно.Я думаю, что это может быть связано с initialResponseTimeout и responseCompletionTimeout в моем коде ниже.У кого-нибудь есть опыт установки этих значений?
IConnection connection = null;
try
{
connection = new BluetoothConnectionInsecure(address);
connection.Open();
using (var printer = ZebraPrinterFactory.GetInstance(
PrinterLanguage.Cpcl, connection))
{
using (var image = ZebraImageFactory.GetImage(signature))
{
printer.StoreImage(SignatureFilename, image,
image.Width, image.Height);
}
// pause to ensure image is saved
Thread.Sleep(1000);
var initialResponseTimeout = 3000;
var responseCompletionTimeout = 1000;
// is the timeout too small or large ?
connection.SendAndWaitForResponse(printLabel,
initialResponseTimeout, responseCompletionTimeout, null);
}
}
catch (Exception exception)
{
Microsoft.AppCenter.Crashes.Crashes.TrackError(exception);
}
finally
{
connection.Close();
}