Невозможно прочитать данные из транспортного соединения!!!C#

Место общения программистов C#
Ответить
Anonymous
 Невозможно прочитать данные из транспортного соединения!!!

Сообщение Anonymous »

Код: Выделить всё

public async Task ReadRegistersAsync(ushort startAddress, ushort numberOfRegisters)
{
byte[] request = BuildReadRequest(startAddress, numberOfRegisters);
await transportStream.WriteAsync(request, 0, request.Length);
byte[] response = new byte[256];
await transportStream.ReadAsync(response, 0, response.Length);
return ParseShortResponse(response, numberOfRegisters);
}
private byte[] BuildReadRequest(ushort startAddress, ushort numberOfRegisters)
{
//(0x03)
byte[] request = new byte[12];
request[0] = 0;
request[1] = 0;
request[2] = 0;
request[3] = 0;
request[4] = 0;
request[5] = 6;
request[6] = 1;
request[7] = 3;
request[8] = (byte)(startAddress >> 8);
request[9] = (byte)(startAddress & 0xFF);
request[10] = (byte)(numberOfRegisters >> 8);
request[11] = (byte)(numberOfRegisters & 0xFF);

return request;
}
Вот содержимое кода. Его функция заключается в чтении короткого массива из Modbus plc. Длина 120 считывается последовательно, startAddress — это первый адрес адреса чтения, NumberOfRegisters. - это длина адреса чтения.
Но иногда он сообщает об ошибке: Невозможно прочитать данные из транспортного соединения: установленное соединение было прервано программным обеспечением на вашем хост-компьютере. Я не знаю почему,Кто-нибудь мне поможет?

Подробнее здесь: https://stackoverflow.com/questions/792 ... connection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»