У меня есть данные, как показано ниже.
List<int> bytes: [231, 199, 287, 286, 305, 304, 351, 350, 246, 214, 252, 220, 13, 10];
Я считаю, что должен использовать socket.add (bytes) ; Но я не уверен, что это правильный путь.
Основная цель - отправить не закодированную строку на сервер, и, кажется, я могу сделать это, отправив в виде байтов.
Указанные выше байты будут заменены на кодовую страницу IBM CP850 (байт).
Пример: [231] будет заменено на [167]. И у меня нет проблем с этим.
Также в документации указано, что мне нужно использовать flush и done, чтобы получить любые ошибки, если они сгенерированы этим вызовом.
Кто-нибудь знает хороший пример для этого?
Примечание: Для строки я использую приведенный ниже код. Но мне нужно изменить код для отправки байтов в сокет.
_socket = await Socket.connect('192.168.22.120', 3000);
_socket.handleError((data) {
_secureResponse = "$_errorData}";
});
await for (var data in _socket) {
_reply = new String.fromCharCodes(data).trim();
int dataLen;
dataLen = _reply.length;
int carriageReturnPosition;
carriageReturnPosition = dataLen - 2;
int newLinePosition;
newLinePosition = dataLen - 1;
if (_reply.substring(carriageReturnPosition, newLinePosition) == '\r' &&
_reply.substring(newLinePosition, dataLen) == '\n') {
_socket.close();
}
}