У меня есть считыватель штрих-кодов TCP/IP для Microscan. В настоящее время я использую следующий код для подключения к нему и получить штрих-кода при чтении:Только получение штрих-кода с помощью штрих-кода TCP/IP
// responseData string will be the barcode received from reader
string responseData = null;
TcpClient client = new TcpClient("10.90.10.36", 2001);
// The "getData" is just a generic string to initiate connection
Byte[] sentData = System.Text.Encoding.ASCII.GetBytes("getData");
NetworkStream stream = client.GetStream();
stream.Write(sentData, 0, sentData.Length);
Byte[] receivedData = new Byte[20];
Int32 bytes = stream.Read(receivedData, 0, receivedData.Length);
for (int i = 0; i < bytes; i++)
{
responseData += Convert.ToChar(receivedData[i]);
}
// Closes the socket connection.
client.Close();
Вопрос, который я имею, что я только получаю 10 символов, если штрих-код 15. Все работает правильно до тех пор, Int32 bytes = stream.Read(receivedData, 0 receivedData.Length);
линия. Вызов Read
возвращает 10, а не 15, как и должно быть. Я попытался изменить код несколькими способами, но все они только что вернули 10 символов, как обычно. Это работает правильно, если штрих-код составляет 10 символов или меньше, но не больше.
Я не думаю, что это проблема со сканером, но я также проверяю это. У кого-нибудь есть идеи?
Получил ссылку на API сканера? Я googled и нашел документ, но он не кажется правильным, потому что он не поддерживает никакой опции «getData». – spartygw
На самом деле я не видел API для сканера. Строка «getData», которую я отправляю, является просто чем-то общим, так как сканеру нужен какой-то тип данных для отправки для установления соединения с клиентом, и любая строка будет работать. – danielunderwood
Являются ли 10 символов, которые вы получаете в качестве первых 10 в штрих-коде? Может быть, вы не получаете данные штрих-кода, а что-то еще, возможно, код ошибки? – spartygw